[ 다먹살 ]/- Coding

[백준] 1475 방 번호

엉망으로살기 2021. 10. 19. 10:42
반응형

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

 

1475번: 방 번호

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

www.acmicpc.net

 

정답률에 비해 그렇게 어렵진 않은 문제였던 것 같다. 6과 9일 때의 경우 예외처리를 해주면 자연스럽게 해결할 수 있는 문제였다.


문제 및 입출력

 


코드

import java.util.Arrays;
import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        String n = sc.nextLine();
        int[] num = new int[10];
        Arrays.fill(num, 0);
        
        for(int i=0; i<n.length(); i++)
        {
            int c = Integer.parseInt(n.charAt(i)+"");
            
            // 카운트 된 숫자는 아래 조건에 따라 다르게 처리
            if(num[c]!=0)
            {
                // 체크 숫자가 6일 때, 9를 사용한 개수가 6보다 적을 때는 9에 +1
                if(c==6 && num[6]>num[9])
                {
                    num[9]++;
                }
                // 체크 숫자가 9일 때, 6를 사용한 개수가 9보다 적을 때는 6에 +1
                else if(c==9 && num[9]>num[6])
                {
                    num[6]++;
                }
                // 그 외 경우는 해당 숫자에 +1
                else
                {
                    num[c]++;
                }
            }
            // 아직 카운트 안된 숫자는 무조건 +1
            else
            {
                num[c]++;
            }
        }
        
        // 최대 세트 수를 구하기 위해 정렬한 후 맨 마지막 값을 출력
        Arrays.sort(num);
        System.out.println(num[num.length-1]);
    }
}

 

반응형