다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.
첫째 줄에 필요한 세트의 개수를 출력한다.
9999
2
122
2
출력값: 다솜이의 방 번호가 주어졌을 때, 필요한 숫자 세트(0~9)의 개수의 최솟값 구하기
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');
const N = input[0].split('').map(Number); // 다솜이의 방 번호 N
const number = Array.from({ length: 10 }, () => 0); // 0부터 9까지 숫자 세트 배열 만들기
N.forEach((n) => {
if (n === 6 || n === 9)
number[6] += 1; // 6이랑 9는 뒤집어 사용 가능하므로 모두 6 인덱스에 넣어주기
else number[n] += 1; // 나머지 숫자들은 해당 인덱스에 추가
});
number[6] = Math.ceil(number[6] / 2); // 6 인덱스의 갯수 2로 나눈 후 올림
console.log(Math.max(...number)); // 가장 큰 수 리턴(=필요한 숫자 세트 최솟값)