문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다.
문자열 s가 매개변수로 주어질 때, 위 과정과 같이 문자열들로 분해하고, 분해한 문자열의 개수를 return 하는 함수 solution을 완성하세요.
제한사항
입출력 예
s | result |
---|---|
"banana" | 3 |
"abracadabra" | 6 |
"aaabbaccccabba" | 3 |
입출력 예 설명
입출력 예 #1
s="banana"인 경우 ba - na - na와 같이 분해됩니다.
입출력 예 #2
s="abracadabra"인 경우 ab - ra - ca - da - br - a와 같이 분해됩니다.
입출력 예 #3
s="aaabbaccccabba"인 경우 aaabbacc - ccab - ba와 같이 분해됩니다.
https://school.programmers.co.kr/learn/courses/30/lessons/140108
class Solution {
public int solution(String s) {
int splitCnt = 0;
int sameCnt = 0;
int diffCnt = 0;
String temp = "";
for (int i = 0 ; i < s.length(); i++){
if (sameCnt == 0) {
temp = String.valueOf(s.charAt(i));
sameCnt++;
} else {
if (temp.equals(String.valueOf(s.charAt(i)))){
sameCnt++;
} else {
diffCnt++;
if (sameCnt == diffCnt){
splitCnt++;
sameCnt = 0;
diffCnt = 0;
}
}
}
}
if (sameCnt > 0 || diffCnt > 0){
splitCnt++;
}
return splitCnt;
}
}
public class Solution {
public int solution(String s) {
int answer = 0;
char init = s.charAt(0);
int count = 0;
for (char c : s.toCharArray()) {
if (count == 0) {
init = c;
}
if (init == c) {
count++;
} else {
count--;
}
if (count == 0) {
answer++;
}
}
if(count > 0) {
answer++;
}
return answer;
}
}