dp
선언amount
까지의 금액 순회i
가 coin
보다 크다면, dp
배열에 최소 개수 반영Infinity
라면 -1반환, 아니라면 해당 코인 수 반환function coinChange(coins: number[], amount: number): number {
const dp = Array(amount + 1).fill(Infinity)
dp[0] = 0
for(let i = 0; i <= amount; i++) {
for(const coin of coins) {
if(i < coin) continue
dp[i] = Math.min(dp[i], dp[i - coin] + 1)
}
}
return dp[amount] === Infinity ? -1 : dp[amount]
};