๐งฉ Baekjoon 1439 - ๋ค์ง๊ธฐ
๋ฌธ์
๋ค์์ด๋ 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
1
11001100110011000001
โ ์ถ๋ ฅ 1
1
4
โ ์ ๋ ฅ 2
1
11101101
โ ์ถ๋ ฅ 2
1
2
์์ฑ ์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) throws IOException {
// ์
๋ ฅ ์ฒ๋ฆฌ
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// ์ ๊ทํํ์
Pattern pattern = Pattern.compile("0+|1+");
Matcher matcher = pattern.matcher(br.readLine());
// ํํฐ๋ง๋ ๊ฐ๋ค ๋ฆฌ์คํธ์ ์ถ๊ฐ
List<String> blocks = new ArrayList<>();
while (matcher.find()) {
blocks.add(matcher.group());
}
// 0 ๋ธ๋ก๊ณผ 1 ๋ธ๋ก ๊ฐ๊ฐ ๊ฐ์ ์นด์ดํธ
long zeroBlockCount = blocks.stream().filter(block -> block.startsWith("0")).count();
long oneBlockCount = blocks.stream().filter(block -> block.startsWith("1")).count();
// ์ถ๋ ฅ ์ฒ๋ฆฌ
System.out.println(Math.min(zeroBlockCount, oneBlockCount));
}
}
- ์ฒ์์๋
for
๋ฌธ์ ์ด์ฉํด ๋ฌธ์์ด์ ์ํํ๋ ค๊ณ ํ์ง๋ง ์ฝ๋๊ฐ ์ง๊ด์ ์ด์ง ์๊ณ ๋ณต์กํด์ง ๊ฒ ๊ฐ์์ ์ ๊ทํํ์์ ์ ์ฉํด๋ณด์๋ค.
ํ๊ณ
- ๊ฐ๋ฐ์ ํ ๋ ๋๋ถ๋ถ
for
๋ฌธ๊ณผif
๋ฌธ์ผ๋ก ๊ตฌํ์ด ๋์ง๋ง ์ ์ ํ ๋ฐฉ๋ฒ์ธ์ง ์ข ์ข ์๋ฌธ์ด ๋ค ๋๊ฐ ์๋ค. - ํ์ ํด์ค๋ ๋ฐฉ์์ ๊ฐํ์ง ๋ง๊ณ ์ค๋์ฒ๋ผ ์๋ก์ด ๋ฐฉ์๋ ์ฐพ์๋ด์ผ๊ฒ ๋ค.