Dazzling 개발 노트
[백준] 1439 - 뒤집기 (Java) 본문
[백준] 1439 - 뒤집기 (Java)
문제
https://www.acmicpc.net/problem/1439
풀이/후기
연속된 1로 구성된 토큰의 개수와, 연속된 0으로 구성된 토큰의 개수 중 작은쪽을 출력한다.
동일한 방법으로 다르게 풀이했는데, StringTokenizer의 활용도를 새롭게 알았다.
코드
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();
char[] arr = S.toCharArray();
int countOne = 0;
int countZero = 0;
if (arr[0] == '1') countOne++;
else countZero++;
for (int i=1; i<arr.length; i++){
if (arr[i-1] != arr[i]){
if (arr[i] == '1') countOne++;
else countZero++;
}
}
int result = Math.min(countOne, countZero);
System.out.println(result);
}
}
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 st0 = new StringTokenizer(S, "0");
StringTokenizer st1 = new StringTokenizer(S, "1");
System.out.println(Math.min(st0.countTokens(), st1.countTokens()));
}
}
Commit
참고