-> 자세한 내용 보러가기
class Solution {
public int solution(String s) {
int answer = 0;
//첫글자를 읽습니다 이 글자를 x라고 합니다.
char x = s.charAt(0);
//x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다.
int xCnt = 0;
int otherCnt = 0;
for(int idx = 0; idx < s.length(); idx++){
//문자열을 왼쪽에서 오른쪽으로 읽어나가면서 x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다.
if(x == s.charAt(idx)){
xCnt++;
}else{
otherCnt++;
}
//처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리
if(xCnt == otherCnt){
xCnt = 0;
otherCnt = 0;
answer++;
//만약 x가 s의 길이 보다 작다면 분리하고 재실행해야함
if(idx < s.length() -1){
x = s.charAt(idx + 1);
}
}else if(idx == s.length() -1){ // 더이상 분리할 수 없음
answer++;
}
}
return answer;
}
}