1100110010001 이라면
몇번 뒤집었을때 최소 뒤집는 횟수가 나올까? 라는 생각을 햇다...
1을 뒤집게 되면 총 4번이고,
0을 뒤집게 되면 총 3번이다.
그렇다면?!! 0을 뒤집었을때 3번만 뒤집으면 되므로 0을 3번 뒤집자.
-> 위에서 내가 생각한 대로라면 1번과 0번 뒤집기에 대한 변수가 필요로 하다.
그리고 그것을 적절히 활용하면 됨!!
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string s;
cin >> s;
char word;
int one = 0;
int zero = 0;
if (s[0] == '0')
{
zero = 1;
}
else
{
one = 1;
}
word = s[0];
for (int i = 1; i < s.length(); i++)
{
if (word != s[i])
{
word = s[i];
if (word == '0')
{
zero += 1;
}
else
{
one += 1;
}
}
}
cout << min(one, zero);
return 0;
}