Skip to content

Commit ce9396b

Browse files
committed
coin-change solutions
1 parent 61b775a commit ce9396b

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

โ€Žcoin-change/Blosssom.tsโ€Ž

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param coins - ๋™์ „ ์ข…๋ฅ˜ ๋ฐฐ์—ด
3+
* @param amount - ์ด ๊ธˆ์•ก
4+
* @returns - ์ด ์‚ฌ์šฉ ์ฝ”์ธ ๊ฐฏ์ˆ˜
5+
* @description
6+
* - ํƒ์š•์œผ๋กœ ํ’€๋ฉด ์ตœ์†Œ ๋™์ „๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†์Œ
7+
* - dp ๋กœ ํ’€์ด
8+
* - 1 ๋ถ€ํ„ฐ ๊ธˆ์•ก์˜ ์ฝ”์ธ ์‚ฌ์šฉ ๊ฐฏ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด ๊ฐ€๋ฉฐ, ์ด์ „์— ๊ตฌํ•ด๋†“์€ ๊ฐ’๊ณผ min ๋น„๊ต
9+
*/
10+
function coinChange(coins: number[], amount: number): number {
11+
const dp = new Array(amount + 1).fill(Infinity);
12+
13+
dp[0] = 0;
14+
15+
for (let i = 1; i <= amount; i++) {
16+
for (const coin of coins) {
17+
if (i - coin >= 0) {
18+
dp[i] = Math.min(dp[i], dp[i - coin] + 1);
19+
}
20+
}
21+
}
22+
23+
return dp[amount] === Infinity ? -1 : dp[amount];
24+
}
25+
26+
const coins = [1, 2, 5];
27+
const amount = 11;
28+
coinChange(coins, amount);
29+

0 commit comments

Comments
ย (0)