https://school.programmers.co.kr/learn/courses/30/lessons/140108#
이 문제는 문자열 조작을 통해 해결할 수 있다.
문자를 문자열에 저장하다가 x의 개수와 x가 아닌 개수가 같으면 문자열을 초기화한다.
문자열 순회가 끝나면 x가 마지막 문자이거나 문자열이 비어있지 않으면 단어 갯수를 늘린다.
#include <string>
#include <vector>
using namespace std;
int solution(string s) {
int answer = 0;
char x = s[0];
string temp = "";
int counter = 1;
int counter2 = 0;
for(int i = 1;i<s.length();i++){
temp += s[i];
if(x == s[i])
counter++;
else{
counter2++;
if(counter == counter2){
x = s[++i];
counter = 1;
counter2 = 0;
temp = "";
answer++;
}
}
}
if(!temp.empty() || x == s[s.length() - 1])
answer++;
return answer;
}
'Programmers Review' 카테고리의 다른 글
[Lv 1] 개인정보 수집 유효기간 (0) | 2024.06.13 |
---|---|
[Lv 1] 둘만의 암호 (0) | 2024.06.08 |
[Lv 1] 기사단원의 무기 (0) | 2024.06.08 |
[Lv 1] 햄버거 만들기 (0) | 2024.06.08 |
[Lv 1] 옹알이 (2) (0) | 2024.06.08 |