반응형
간단한 문자열 처리 문제였습니다.
풀이방법
1. 연속하는 영역의 개수를 세었습니다.
1-1. 연속하는 '0'영역의 개수 : zeroArea변수에 저장
1-2. 연속하는 '1'영역의 개수 : oneArea변수에 저장
2. 두 영역의 개수 중 영역의 개수가 적은것을 출력했습니다.
Code
#include <bits/stdc++.h>
using namespace std;
string s;
int zeroCnt, oneCnt;
int main(){
cin >> s;
for(int i = 0; i < s.size(); i++){
int j = i;
if(s[i] == '1') oneCnt++;
else zeroCnt++;
while(s[i] == s[j++]);
i = j - 2;
}
cout << min(zeroCnt,oneCnt);
}
'Algorithm > String' 카테고리의 다른 글
(Python) - 백준(BOJ) 5052번 : 전화번호 목록 답 (0) | 2020.10.03 |
---|---|
(Javascript) - 백준(BOJ) 11816번 : 8진수, 10진수, 16진수 답 (0) | 2020.09.26 |
(C++) - 백준(BOJ) 5525번 : IOIOI 답 (0) | 2020.09.16 |
(Python) - 백준(BOJ) 1541번 : 잃어버린 괄호 답 (0) | 2020.09.14 |
(C++) - 백준(BOJ) 4949번 : 균형잡힌 세상 답 (0) | 2020.08.23 |