Programmers Review
[Lv 1] 문자열 나누기
hanseongbugi
2024. 6. 8. 17:31
https://school.programmers.co.kr/learn/courses/30/lessons/140108#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이 문제는 문자열 조작을 통해 해결할 수 있다.
문자를 문자열에 저장하다가 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;
}