Skip to content

Commit bf46998

Browse files
committed
add: coin change solution by freemjstudio
1 parent ba56afa commit bf46998

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

β€Žcoin-change/freemjstudio.pyβ€Ž

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,21 @@ class Solution:
22
def coinChange(self, coins: List[int], amount: int) -> int:
33
if amount == 0:
44
return 0
5-
dp = [0] * (amount + 1) # dp[n] 은 n 원을 λ§Œλ“€κΈ° μœ„ν•œ μ΅œμ†Œν•œμ˜ 동전 개수λ₯Ό μ €μž₯ν•œλ‹€.
6-
5+
INF = int(1e9)
6+
# dp[n] 은 n 원을 λ§Œλ“€κΈ° μœ„ν•œ μ΅œμ†Œν•œμ˜ 동전 개수λ₯Ό μ €μž₯ν•œλ‹€.
7+
dp = [INF] * (amount + 1)
8+
usable_coins = []
79
for coin in coins:
810
if coin == amount:
911
return 1
1012
if coin < amount:
11-
dp[coin] = 1
13+
dp[coin] = 1 # dp[3] = 1
14+
usable_coins.append(coin)
1215

13-
# dp λ₯Ό μ±„μš°μž
14-
for i in range(amount)
16+
# dp λ₯Ό μ±„μ›Œλ‚˜κ°€λŠ” κ³Όμ •
17+
for i in range(1, amount+1):
18+
for coin in usable_coins:
19+
if (i - coin) >= 0 and dp[i - coin] != INF:
20+
dp[i] = min(dp[i - coin] + 1, dp[i])
1521

16-
return dp[amount] if dp[amount] != 0 else -1
22+
return -1 if dp[amount] == INF else dp[amount]

0 commit comments

Comments
Β (0)