본문 바로가기
코딩테스트 준비/백준

[백준] 1475번 - 방 번호 [Java]

by mwzz6 2025. 1. 4.

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

 

[백준] 1475번 - 방 번호 [Java]
[백준] 1475번 - 방 번호 [Java]


1.  아이디어

 

카운팅 배열을 활용하면 간단하게 구현할 수 있다.


2. 문제풀이

 

카운팅 배열을 활용해서 0부터 9까지의 등장 횟수를 일단 세줬다.

이후 6과 9는 평균을 내서 다시 저장시켜줬고, 다시 카운팅 배열을 순회하며 최댓값을 찾는 방식으로 구현했다.

이때 평균을 내는 과정에서 나머지를 버리면 안돼서 1을 더하고 나눠줬다.


3. 코드

 

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        char[] input = br.readLine().toCharArray();

        int[] cntArr = new int[10];
        for (char c : input) {
            cntArr[c - '0']++;
        }

        int tmp = (cntArr[6] + cntArr[9] + 1) / 2;
        cntArr[6] = cntArr[9] = tmp;

        int max = 0;
        for (int cnt : cntArr) {
            max = Math.max(max, cnt);
        }

        System.out.println(max);
    }
}

4. 후기