문제
다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
입력
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
출력
첫째 줄에 필요한 세트의 개수를 출력한다.
예제
입력:
9999
출력:
2
코드
let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('');
let numArr = [10];
input.sort((a, b) => a-b);
for(let i=0; i<10; i++) {
numArr[i] = input.lastIndexOf(i.toString())+1;
if(numArr[i] != 0) {
input.splice(0, numArr[i]);
}
}
let nine = numArr.splice(9, 1, 0)[0];
let six = numArr.splice(6, 1, 0)[0];
let maxNum = Math.max(...numArr);
if(Math.ceil((nine+six)/2) >= maxNum) console.log(Math.ceil((nine+six)/2));
else console.log(maxNum);
설명
문제가 생각보다 간단했다. 6과 9의 개수를 더하고 2로 나눠서 올림한 값이 6, 9를 제외한 숫자 중에서 개수가 제일 많은 숫자의 개수를 비교해서 더 큰 수를 출력하면 된다.
'Coding > BaekJoon' 카테고리의 다른 글
[BaekJoon/JavaScript] 2583. 영역 구하기 (0) | 2022.06.08 |
---|---|
[BaekJoon/JavaScript] 10026. 적록색약 (0) | 2022.06.07 |
[BaekJoon/JavaScript] 1026. 보물 (0) | 2021.10.05 |
[BaekJoon/JavaScript] 11047. 동전 0 (0) | 2021.10.05 |
[BaekJoon/C#] 15649. N과 M (1) (0) | 2021.10.03 |