Dazzling 개발 노트

[백준] 1439 - 뒤집기 (Java) 본문

Algorithm/백준

[백준] 1439 - 뒤집기 (Java)

dj._.dazzling 2024. 3. 25. 14:41

[백준] 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

 

참고

https://nahwasa.com/entry/%EB%B0%B1%EC%A4%80-1439-%EC%9E%90%EB%B0%94-%EB%92%A4%EC%A7%91%EA%B8%B0-BOJ-1439-JAVA