백준 11047 JavaScript
수정하기
문서 생성 2022-04-22 21:52:28 최근 수정 2022-04-22 23:56:07
문제
풀이
const readFileSyncPath = require("path").basename(__filename).replace(/js$/, "txt");// const readFileSyncPath = '/dev/stdin';const input = require("fs").readFileSync(readFileSyncPath).toString().trim().split("\n");// 동전 N 종류로 합 K 만들기// 필요한 동전 개수의 최솟값// 최소개수라면 그리디..?// 합 K보다 작은 단위 중 제일 큰 값으로 나눠 갯수를 구하고// 남은 돈은 그 남은 돈보다 작은 단위 중 제일 큰 값으로 나누는 것을 반복const [N, K] = input[0].split(" ").map(Number);let cnt = 0;let remain = K;for (let i = N; i >= 1; i--) {const coin = Number(input[i]);if (coin <= remain) {cnt = cnt + parseInt(remain / coin);remain = remain % coin;}}console.log(cnt);