728x90
시간 제한 : 2초
메모리 제한 : 128MB
입력
첫째 줄에 문자열 S가 주어진다. S는 백만보다 작은 길이
출력
첫째 줄에 다솜이가 해야하는 행동의 최소값을 출력한다.
소스코드
#include <iostream> #include <string> using namespace std; int main(void) { string s; int len, zeropart = 0, onepart = 0, cnt = 0; cin >> s; len = s.length(); if (s[0] == '0') zeropart = 1; else onepart = 1; for (int i = 1; i < len; i++) { if (s[i] != s[i - 1]) { if (s[i] == '0') zeropart++; else onepart++; } } cout << ((onepart < zeropart) ? onepart : zeropart); }
Tip
0과 1이 바뀌는 순간, 0과 1로 구성된 덩어리들을 카운트를 해주면서 덩어리가 가장 작은 것을 출력하면 된다.
728x90
'Computer Science > Algorithm Problem' 카테고리의 다른 글
백준] 1138 - 한 줄로 서기 (0) | 2018.06.08 |
---|---|
백준] 1812 - 사탕 (0) | 2018.06.07 |
백준] 1531 - 투명 (0) | 2018.06.05 |
백준] 1855 - 암호 (0) | 2018.06.04 |
백준] 2966 - 찍기(COCI 2008/2009) (0) | 2018.05.29 |