MapleStory Finger Point

๐Ÿƒ‍โ™€๏ธprogrammers/Java

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv.1 ๋ฌธ์ž์—ด๋‚˜๋ˆ„๊ธฐ

HYEJU01 2025. 5. 1. 21:15
๋ฌธ์ œ : Lv.1 ๋ฌธ์ž์—ด๋‚˜๋ˆ„๊ธฐ https://school.programmers.co.kr/learn/courses/30/lessons/140108
์–ธ์–ด : JAVA
์ฒด๊ฐ Level : โ˜… โ˜† โ˜†
Review: ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ทœ์น™์„ ํŒŒ์•…ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๊ธฐ

 

 

๐Ÿ’ก์ฒ˜์Œ ๊ตฌ์ƒ

๋งจ์ฒ˜์Œ์—๋Š” ์ด๋Ÿฐ์‹์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ๋น„๊ตํ•ด๋‚˜๊ฐ€๋ฉด์„œ

x ์™€ nox ๋กœ ๋ณ€์ˆ˜๋ฅผ ๋‘๊ฐœ๋กœ ๋‚˜๋ˆ ์„œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ–ˆ๋‹ค

๊ทผ๋ฐ ๋„ˆ๋ฌด๋‚˜๋„ ๋น„ํšจ์œจ์ ์ผ ๊ฒƒ ๊ฐ™์•„์„œ.... (์•„๋ž˜์— ์ด์–ด์„œ)

   
        
//         int x = 0;
//         int nox = 0;
//         int cnt = 0;
//         char c = 0;
        
//         for (int i = 0; i < s.length(); i++){
//             c = s.charAt(i);
//             for (int j = i; j < s.length(); j++){
//                 if (x == nox) {
//                     answer ++;
//                 }
//                 if (s.charAt(j) == c){
//                     x++;
//                 }else {
//                     nox++;
//                 }
//             }

             
//         }
//          System.out.println(x); 
//          System.out.println(nox);

 

 

๐Ÿ’ก ๋งž์€ ๋‹ต

cnt ๋ผ๋Š” ๋ณ€์ˆ˜ ํ•œ๊ฐœ๋กœ ++ ๊ณผ -- ๋กœ flag ์—ญํ• ์„ ๋งŒ๋“ค์–ด์„œ

0์ด ๋˜๋Š” ์ˆœ๊ฐ„์„ ์žก์•„์„œ ๊ตฌ๋ถ„ํ•˜๋ฉด ๋˜๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ

๋” ํšจ์œจ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ดค๋‹ค.

class Solution {
    public int solution(String s) {
        int answer = 0;
        char c = ' ';
        int i = 0;
        int j = 0;
        int cnt = 0;
        
        while(true){
            c = s.charAt(i);
            
            if(c == s.charAt(j)){
                cnt ++;
            }else {
                cnt --;
            }
            
            if(cnt == 0 || j == s.length()-1){
                i = j+1;
                answer ++;
                cnt = 0;
            }

            if (j == s.length()-1){
                break;
            }
            
            j++;
        }
        
        return answer;
    }
}