(1) 체크할 문자의 개수와 다른 문자의 개수가 같아지면 그때 카운트 하자.
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
int cnt = 0;
int cnt2 = 0;
char first = s.charAt(0);
for(int i= 0; i < s.length();i++) {
if(first == s.charAt(i)) {
cnt++;
} else {
cnt2++;
}
if(cnt == cnt2) {
answer++;
if(i == s.length()-1) {
return answer;
}
first = s.charAt(i+1);
cnt = 0;
cnt2 = 0;
} else if(i == s.length()-1) {
answer++;
}
}
return answer;
}
}
(1) 체크할 문자의 개수와 다른 문자의 개수를 체크하여 answer 결과를 증가시켰다.
(2) 주어진 문자열의 길이가 홀수일 때와 짝수일 때를 생각하여 증가시켰다.
class Solution {
public int solution(String s) {
int answer = 1;
char x, y;
int xCnt, yCnt;
for(int i = 0; i < s.length(); ){
x = s.charAt(i);
xCnt = 1;
yCnt = 0;
int j = i + 1;
for(; j < s.length(); j++){
y = s.charAt(j);
if(x == y) xCnt++;
else yCnt++;
if(xCnt == yCnt){
i = j + 1;
if(j != s.length() - 1) answer++;
break;
}
}
if(j == s.length()) break;
}
return answer;
}
}
(1) 나와 같이 개수를 비교하여 문자열의 길이를 고려하여 if else를 줬다.
처음에 문제를 이해하지 못해서 시간이 좀 걸렸다. 문제 난이도가 뒤로 갈수록 문제풀이보다 문제해석을 먼저 잘 해야겠다고 느꼈다..!