const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");
let totalCoin = Number(input[0].split(" ")[1]);
const coin = input
.filter((item) => +totalCoin >= +item)
.sort((a, b) => b - a)
.map((item) => +item);
let result = 0;
for (let i = 0; i < coin.length; i++) {
if (totalCoin < coin[i]) {
continue;
}
if (totalCoin % coin[i] >= 0) {
result += Math.floor(totalCoin / coin[i]);
totalCoin -= coin[i] * Math.floor(totalCoin / coin[i]);
}
if (totalCoin === 0) {
break;
}
}
console.log(result);
풀이
실수한점
처음 coin을 filter할때 각 요소의 값보다 totalCoin이 크거나 같아야하는데 큰것만 조건을 줘서 통과가 안됬었다.
조건을 꼼꼼히 살펴보자