백준
[백준 11047] 동전0 / Node.js / 그리디 알고리즘 기초
mark340
2023. 1. 23. 21:41
https://www.acmicpc.net/problem/11047
11047번: 동전 0
첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)
www.acmicpc.net
- 문제를 풀 수 있는 방법은 다양하지만 가장 효율적이고 쉬운 방법을 찾자
let [I,...input] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')
let K = +I.split(' ')[1]
let coins = input.map(Number).sort((a,b) => b-a).filter((v) => v <= K)
let cnt = 0;
let remain = K;
for(let i in coins){
if(remain === 0){
break;
}
cnt += Math.floor(remain/coins[i])
remain %= coins[i]
}
console.log(cnt)