๋ค์์ด๋ 0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด S๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๋ค์์ด๋ ์ด ๋ฌธ์์ด S์ ์๋ ๋ชจ๋ ์ซ์๋ฅผ ์ ๋ถ ๊ฐ๊ฒ ๋ง๋ค๋ ค๊ณ ํ๋ค. ๋ค์์ด๊ฐ ํ ์ ์๋ ํ๋์ S์์ ์ฐ์๋ ํ๋ ์ด์์ ์ซ์๋ฅผ ์ก๊ณ ๋ชจ๋ ๋ค์ง๋ ๊ฒ์ด๋ค. ๋ค์ง๋ ๊ฒ์ 1์ 0์ผ๋ก, 0์ 1๋ก ๋ฐ๊พธ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์๋ฅผ ๋ค์ด S=0001100 ์ผ ๋,
์ ์ฒด๋ฅผ ๋ค์ง์ผ๋ฉด 1110011์ด ๋๋ค.
4๋ฒ์งธ ๋ฌธ์๋ถํฐ 5๋ฒ์งธ ๋ฌธ์๊น์ง ๋ค์ง์ผ๋ฉด 1111111์ด ๋์ด์ 2๋ฒ ๋ง์ ๋ชจ๋ ๊ฐ์ ์ซ์๋ก ๋ง๋ค ์ ์๋ค.
ํ์ง๋ง, ์ฒ์๋ถํฐ 4๋ฒ์งธ ๋ฌธ์๋ถํฐ 5๋ฒ์งธ ๋ฌธ์๊น์ง ๋ฌธ์๋ฅผ ๋ค์ง์ผ๋ฉด ํ ๋ฒ์ 0000000์ด ๋์ด์ 1๋ฒ ๋ง์ ๋ชจ๋ ๊ฐ์ ์ซ์๋ก ๋ง๋ค ์ ์๋ค.
๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, ๋ค์์ด๊ฐ ํด์ผํ๋ ํ๋์ ์ต์ ํ์๋ฅผ ์ถ๋ ฅํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๋ค. S์ ๊ธธ์ด๋ 100๋ง๋ณด๋ค ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ค์์ด๊ฐ ํด์ผํ๋ ํ๋์ ์ต์ ํ์๋ฅผ ์ถ๋ ฅํ๋ค.
1) ์ ์ผ ์์๋ฆฌ์ ์ซ์ ํ์
ํ, count ์ฆ๊ฐ
2) ์ซ์๊ฐ ์ฐ์ํ์ง ์๋ ๋ถ๋ถ์์, ๋ค์ ์ซ์์ ํด๋นํ๋ count๋ฅผ ์ฆ๊ฐ
1) ์ ์ผ ์์๋ฆฌ์ ์ซ์ ํ์ ํ, count ์ฆ๊ฐ
count[s.charAt(0)-'0']++;
2) ์ซ์๊ฐ ์ฐ์ํ์ง ์๋ ๋ถ๋ถ์์, ๋ค์ ์ซ์์ ํด๋นํ๋ count๋ฅผ ์ฆ๊ฐ
if(a!=b)
count[a-'0']++;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Greedy_7 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int count[] = new int[2];
count[s.charAt(0)-'0']++;
for(int i=1; i<s.length(); i++) {
char a = s.charAt(i);
char b = s.charAt(i-1);
if(a!=b)
count[a-'0']++;
}
System.out.println(Math.min(count[0], count[1]));
}
}
์ฑ๊ณต~