Skip to content

Commit acf37c0

Browse files
committed
feat: add coin-change solution
1 parent 6d98663 commit acf37c0

File tree

1 file changed

+34
-4
lines changed

1 file changed

+34
-4
lines changed

โ€Žcoin-change/shinsj4653.pyโ€Ž

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,45 @@
11
"""
22
[๋ฌธ์ œํ’€์ด]
33
# Inputs
4-
4+
- ์ •์ˆ˜ ๋ฐฐ์—ด coins
5+
- ์ด ๋ˆ์˜ ๊ฐ’ amount
56
# Outputs
6-
7+
- amount ๋ฅผ ์ฑ„์šธ ์ˆ˜ ์žˆ๋Š” ๋™์ „์˜ ๊ฐ€์žฅ ์ ์€ ์ˆ˜
8+
- ๋งŒ์•ฝ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค๋ฉด -1 return
79
# Constraints
8-
10+
- 1 <= coins.length <= 12
11+
- 1 <= coins[i] <= 2^31 - 1
12+
- 0 <= amount <= 10^4
913
# Ideas
14+
- ์šฐ์„  ์ด์ „ ํ’€์ด ๋ณธ ๊ฑฐ ์—ฐ์Šตํ•ด๋ณด๊ธฐ
15+
- DP ํƒ‘๋‹ค์šด ๋ฐฉ์‹์œผ๋กœ! ์ด ๋ฌธ์ œ ํ’€์ด๋ฅผ ๋‚ด๊ฐ€ 100% ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š”๊ฒŒ ๋งž๋Š”์ง€ ์†์œผ๋กœ ๋„์‹ํ™” ํ•ด๋ณด๊ธฐ๋กœํ•จ
1016
11-
[ํšŒ๊ณ ]
1217
18+
[ํšŒ๊ณ ]
19+
์žฌ๊ท€๋ž‘ dp๋Š” ๋‹ค์–‘ํ•œ ์œ ํ˜•์„ ๋งŽ์ด ํ’€์–ด๋ณด๋Š” ์ˆ˜ ๋ฐ–์—..
1320
"""
1421

1522

23+
class Solution:
24+
def coinChange(self, coins: List[int], amount: int) -> int:
25+
memo = {}
26+
27+
def dp(amount):
28+
29+
if amount == 0:
30+
return 0
31+
32+
retList = []
33+
for coin in coins:
34+
if amount - coin >= 0:
35+
if amount - coin not in memo:
36+
memo[amount - coin] = dp(amount - coin)
37+
38+
if memo[amount - coin] != -1:
39+
retList.append(memo[amount - coin])
40+
41+
return min(retList) + 1 if retList else -1
42+
43+
return dp(amount)
44+
45+

0 commit comments

Comments
ย (0)