Skip to content

Commit e3570f2

Browse files
committed
Coin Change solution
1 parent 713ac16 commit e3570f2

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

β€Žcoin-change/clara-shin.jsβ€Ž

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* μ‹œκ°„ λ³΅μž‘λ„: O(amount * coins.length)
3+
* 각 κΈˆμ•‘μ— λŒ€ν•΄ λͺ¨λ“  동전을 κ³ λ €ν•΄μ•Ό 함
4+
*/
5+
6+
/**
7+
* @param {number[]} coins
8+
* @param {number} amount
9+
* @return {number}
10+
*/
11+
var coinChange = function (coins, amount) {
12+
const dp = new Array(amount + 1).fill(Infinity);
13+
14+
dp[0] = 0; // κΈˆμ•‘ 0은 동전이 ν•„μš” μ—†μŒ
15+
16+
for (const coin of coins) {
17+
for (let i = coin; i <= amount; i++) {
18+
// dp[i] : κΈˆμ•‘ iλ₯Ό λ§Œλ“€κΈ° μœ„ν•œ μ΅œμ†Œ 동전 개수
19+
// dp[i - coin] + 1 : ν˜„μž¬ 동전을 ν•œ 개 μ‚¬μš©ν•˜κ³  λ‚˜λ¨Έμ§€ κΈˆμ•‘(i - coin)을 λ§Œλ“œλŠ” μ΅œμ†Œ 동전 개수
20+
dp[i] = Math.min(dp[i], dp[i - coin] + 1);
21+
}
22+
}
23+
24+
return dp[amount] === Infinity ? -1 : dp[amount];
25+
};

0 commit comments

Comments
Β (0)