백준 [JAVA] :: 1475번 방 번호

s_omi·2023년 2월 17일
0

BAEKJOON (백준)

목록 보기
48/55

📚 문제 정의

다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.

다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)


📝 입력

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

  • 예제 입력 1
9999
  • 예제 입력 2
122
  • 예제 입력 3
12635
  • 예제 입력 4
888888

📝 출력

첫째 줄에 필요한 세트의 개수를 출력한다.

  • 예제 출력 1
2
  • 예제 출력 2
2
  • 예제 출력 3
1
  • 예제 출력 4
6

💡 코드

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s[] = scanner.next().split("");
        String num[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8" };
        int count[] = new int[9]; int set = 1;

        for(int i = 0; i < s.length; i++) {
            for (int j = 0; j < num.length; j++) {
                if (s[i].equals("9")) {
                    count[6]++;
                    break;
                } else if (s[i].equals(num[j])) {
                    count[j]++;
                    break;
                }
            }
        }

        for(int j = 0; j < num.length; j++) {
            int six = (int)Math.round((double)count[6]/2);

            if(j != 6 && set < count[j]) set = count[j];
            else if(j == 6 && set < six) set = six;
        }

        System.out.print(set);
    }
}
profile
공부한 거 올려요 :)

0개의 댓글