본문 바로가기

백준/C++

[C++] 백준 1439번 - 뒤집기

728x90

 

 

문제 1439번

https://www.acmicpc.net/problem/1439

 

1439번: 뒤집기

다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모

www.acmicpc.net

 

다른 숫자가 연속되면 count해주는 식으로 하면 될 것 같다(같은 숫자가 연속되는 부분이 아니라 다른 숫자가 나오는 부분을 찾아서 count). 여기서 count 해줄 때 0(0으로 시작하면), 1(1로 시작하면) 구분해서 변수를 만들어줄 것이다. 그리고 두 개의 변수 중 최소값을 출력하면 된다.

 

#include <iostream>
#include <string>
using namespace std;

int main() {
	string s;
	int onecount = 0, zerocount = 0;
	
	cin >> s;
	for (int i = 0; i < s.length(); i++) {
		if (s[i] != s[i + 1]) {
			if (s[i] == '0') {
				zerocount++;
			} else {
				onecount++;
			}
		}
	}
	cout << min(zerocount, onecount);

	return 0;
}

 

 

 

 

728x90