Argorithm

[Programmers]LV.1 문자열 나누기

빙응이 2023. 12. 6. 21:45


📝풀이

가장 중요한 것은 차례대로 비교할 때 어떻게 비교할 것인가이다. 

나는 일단 첫번째 값을 할당하고 same을 1로 시작했다. 

 

그리고 문자열 덩어리는 1개부터 시작이므로 answer도 1로 시작하여 

 

현재의 값과 전 값을 비교하게 만들었다. 

중요한 것은 단어 비교 순서를 어떻게 할까이다.

 

class Solution {
    public int solution(String s) {
        int answer = 1; //최소 1개의 문자열 덩어리가 존재
        char first = s.charAt(0); // 첫 번째 단어 저장 
        int same = 1; //같을 때 이미 1개를 저장했으므로 
        int different = 0; //다를 때 
        for(int i = 1; i < s.length()-1; i++){
            if(first == s.charAt(i))
                same++;
            else    
                different++;
            if(same == different){
                first = s.charAt(i+1);
                answer++;
                same = 0;
                different = 0;
            }

        }
        return answer;
    }
}