Skip to content

Commit ff0482e

Browse files
committed
solve
1 parent 10d3c49 commit ff0482e

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

โ€Žcoin-change/pmjuu.py

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
from typing import List
2+
3+
4+
class Solution:
5+
def coinChange(self, coins: List[int], amount: int) -> int:
6+
# dp[i]: i ๊ธˆ์•ก์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ตœ์†Œ ๋™์ „ ๊ฐœ์ˆ˜
7+
dp = [float('inf')] * (amount + 1)
8+
dp[0] = 0
9+
10+
for i in range(1, amount + 1):
11+
for coin in coins:
12+
if coin <= i:
13+
dp[i] = min(dp[i], dp[i - coin] + 1)
14+
15+
return dp[amount] if dp[amount] != float('inf') else -1
16+
17+
18+
# ์‹œ๊ฐ„ ๋ณต์žก๋„:
19+
# - ์™ธ๋ถ€ ๋ฐ˜๋ณต๋ฌธ์€ ๊ธˆ์•ก(amount)์˜ ๋ฒ”์œ„์— ๋น„๋ก€ํ•˜๊ณ  -> O(n) (n์€ amount)
20+
# - ๋‚ด๋ถ€ ๋ฐ˜๋ณต๋ฌธ์€ ๋™์ „์˜ ๊ฐœ์ˆ˜์— ๋น„๋ก€ํ•˜๋ฏ€๋กœ -> O(m) (m์€ coins์˜ ๊ธธ์ด)
21+
# - ์ด ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n * m)
22+
23+
# ๊ณต๊ฐ„ ๋ณต์žก๋„:
24+
# - dp ๋ฐฐ์—ด์€ ๊ธˆ์•ก(amount)์˜ ํฌ๊ธฐ๋งŒํผ์˜ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ O(n)
25+
# - ์ถ”๊ฐ€ ๊ณต๊ฐ„ ์‚ฌ์šฉ์€ ์—†์œผ๋ฏ€๋กœ ์ด ๊ณต๊ฐ„ ๋ณต์žก๋„: O(n)

0 commit comments

Comments
ย (0)