- toc {:toc}
νμ΄
- μμ΄λμ΄ 1 λ³κ²½λ λλ§λ€ flip μ 1 μ© μ¦κ°μμΌ νμ΄νμ! num[0] μ νκ²κ°μΌλ‘ λ°κ³ νκ²κ°κ³Ό κ°μ§ μλ€λ©΄ flip μ μ¦κ°μν€κ³ νκ²κ°μ λΉκ΅ν κ°μΌλ‘ κ΅ννλ€.
λ¬Έμ : 0001100 μΌ λ 0 β 1, 1 β 0 μΌλ‘ κ° λ 2 λ²μ λͺ¨λ μΈκΈ° λλ¬Έμ νμ΄ν μ μλ€.
- μμ΄λμ΄ 2 κ·Έλ λ€λ©΄ 0001100 μμ 0 β 1 μΌ λλ μΈμ§ λ§κ³ 1 β 0 μΌλ‘ κ°λ λ· λΆλΆλ§ flip μ μ¦κ°μν€μ!
λ¬Έμ : 100000 μΌ λλ flip μ΄ μ¦κ°νμ§ μλλ€.
- μμ΄λμ΄ 3 0 κ³Ό 1 μ€ κ°μκ° μ μ μλ₯Ό μ νν΄μ ν΄λΉ λμΉκ° νμ§λ κ²½μ° flip μ μ¦κ°μν¨λ€.
λ¬Έμ : λμΉμ μκ° μ€μν κ²μ΄μ§ 0 κ³Ό 1 μ κ°μκ° flip νμμ μν₯μ λ―ΈμΉμ§ μλλ€.
- μμ΄λμ΄ 4 0 λμΉ, 1 λμΉλ₯Ό κ°κ° μΌλ€. num[0] μΌλ‘ μ΄κΈ°κ°μ μ€μ νκ³ ν΄λΉ λμΉμμ λ€λ₯Έ λμΉλ‘ λμ΄κ°μ λ ν΄λΉ λμΉλ₯Ό μΉ΄μ΄νΈνλ€. λμΉμ κ°μλ₯Ό μ λΆ μΉ΄μ΄νΈν ν λ μ€ λμΉμκ° μμ μλ₯Ό λ°ννλ©΄ κ·Έ κ°μ΄ μ΅μ flip μκ° λλ€.
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int flip = 0, one=0, zero=0;
string num;
cin >> num;
char target;
if(num.size() == one || num.size() == zero){
cout << 0 << '\n';
exit(0);
}
if(num[0] == '0') zero++;
else one++;
target = num[0];
for(int i = 1; i < num.size(); i++){
if(target != num[i]) {
if(num[i] == '0') zero++;
else one++;
target = num[i];
}
}
if(zero > one) flip = one;
else flip = zero;
cout << flip << '\n';
return 0;
}