https://www.acmicpc.net/problem/1439
문제
풀이
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
StringTokenizer st1 = new StringTokenizer(s,"0");
StringTokenizer st0 = new StringTokenizer(s,"1");
System.out.println(Math.min(st1.countTokens(), st0.countTokens()));
}
}
StringTokenizer의 기능을 이용하여 구성한다
StringTokenizer st1 = new StringTokenizer(s,"0");
이렇게 작성하면 StringTokenizer이 0을 기준으로 구분하여 토큰을 생성해 준다.
예를 들면 1100101 이면 11 , 1, 1이 토큰이 되는 것이다.
이후 0과 1중 토큰의 개수가 적은 만큼 뒤집으면 되기 때문에 Math라이브러리의 min을 통해 출력한다.
'문제 풀이 > 백준' 카테고리의 다른 글
[백준] 1436번. 영화감독 숌 (JAVA) (0) | 2024.03.25 |
---|---|
[백준] 1149번. RGB거리 (JAVA) (0) | 2024.03.19 |
[백준] 1987번. 알파벳 (JAVA) (0) | 2024.02.14 |
[백준] 2644번. 촌수 계산 (JAVA) (0) | 2024.02.14 |
[백준] 7576번. 토마토 (JAVA) (1) | 2024.02.14 |