Skip to content

Commit 761312e

Browse files
committed
coin-change solution
1 parent e7edab1 commit 761312e

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
class Solution:
2+
def coinChange(self, coins: List[int], amount: int) -> int:
3+
4+
# DP
5+
dp = [10001]*(amount+1)
6+
dp[0] = 0
7+
8+
# 1๋ถ€ํ„ฐ amount๊นŒ์ง€ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ๋™์ „์˜ ์ˆ˜๋ฅผ dp์— ์—…๋ฐ์ดํŠธ
9+
for i in range(1, amount+1):
10+
for j in coins:
11+
# dp[i-j]+1 : (i-j)์›์„ ๋งŒ๋“œ๋Š” ์ตœ์†Œ ๋™์ „ ์ˆ˜ + ํ˜„์žฌ๋™์ „(j) 1๊ฐœ ์‚ฌ์šฉ
12+
# ํ˜„์žฌ๊ธˆ์•ก(i)๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ๋™์ „ ์ˆ˜ ์—…๋ฐ์ดํŠธ
13+
if i - j >= 0:
14+
dp[i] = min(dp[i], dp[i-j]+1)
15+
16+
# ์—…๋ฐ์ดํŠธ๋œ ๊ฐ’์ด ์—†์œผ๋ฉด -1 ๋ฆฌํ„ด
17+
if dp[amount] == 10001:
18+
return -1
19+
else:
20+
return dp[amount]

0 commit comments

Comments
ย (0)