새벽의 기록

[백준 JAVA] 1475번 : 방 번호[자바] 본문

백준

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

OneTen 2023. 6. 19. 10:00

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

 

1475번: 방 번호

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

www.acmicpc.net



문제

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

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

입력

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

출력

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

풀이

import java.io.*;
import java.util.Arrays;

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

        String N = br.readLine();
        String[] str = N.split(""); //한글자씩 비교하기 위해

        int[] arr = new int[10]; //한글자씩 비교해서 해당 숫자 칸 배열 값을 ++
        int check = 0; //6이랑 9가 몇 번 나왔는지 확인하기 위해

        for (int i = 0; i < str.length; i++) {

            for (int j = 0; j < 10; j++) {
                if (Integer.parseInt(str[i]) == j) {

                    //6과 9는 뒤집어 쓸 수 있으니 6이 나온 횟수도 9에 모았다
                    if(j==6){
                        j=9;
                    }
                    arr[j]++;
                }
            }
        }

        arr[9] = arr[9]/2 + arr[9]%2;

        System.out.println(Arrays.stream(arr).max().getAsInt());

    }

}
Comments