알고리즘

백준 1475번 방 번호 (JAVA)

박카스마시며코딩 2023. 9. 28. 16:30

https://www.acmicpc.net/problem/1475

 

1475번: 방 번호

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

 

저는 구현을 통해 문제를 해결하였습니다.

먼저 각각의 자리의 개수를 확인하고 6과 9를 제외한 값들의 최대를 구하였습니다.

그리고 6과 9의 합의 2분의 1값과 최대 값을 비교하여 초기화 시켰습니다.

이때 나누어 떨어지지 않으면 1 값을 늘려서 비교하여 문제를 해결하였습니다.

 

package BOJ.etc;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class BOJ_1475 {
    private static final int SIZE = 10;
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int num = Integer.parseInt(br.readLine());
        int[] cnt = new int[SIZE];
        while(num > 0){
            cnt[num % 10]++;
            num /= 10;
        }
        int max = 0;
        for(int i = 0 ; i < SIZE ; i++){
            if(i == 6 || i == 9){
                continue;
            }
            max = Math.max(max,cnt[i]);
        }
        int sixNineCnt = (cnt[6] + cnt[9]) / 2;
        if((cnt[6] + cnt[9]) % 2 != 0){
            sixNineCnt++;
        }
        max = Math.max(max, sixNineCnt);
        System.out.println(max);
    }

}