PS
백준 1439. 뒤집기
tose33
2021. 8. 9. 14:52
https://www.acmicpc.net/problem/1439
1439번: 뒤집기
다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모
www.acmicpc.net
우리에겐 두가지 선택지가 있다.
모두 0으로 만들지 1로 만들지.
주어진 문자열의 처음부터 0으로 뒤집는 경우와 1로 뒤집는 경우를 따로 카운트해서 둘 중 작은 카운트가 답이다.
주의할점은 이전문자가 현재문자와 같은 경우는 카운트를 증가시키지 않아야한다. (연속된 하나 이상의 숫자를 모두 뒤집을수 있기때문)
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string s;
cin >> s;
int zero = 0, one = 0;
for(int i = 0; i < s.size(); i++)
{
// change to 1
if(s[i] == '0' && s[i-1] != '0')
{
zero++;
}
else if(s[i] == '1' && s[i-1] != '1')
{
one++;
}
}
cout << min(zero, one);
}