점수 하락...
저번 진단테스트에서 DP에 대한 학습이 더 필요하다고 해서 DP를 한 문제 풀어보고 진단 테스트를 응시했다.
그런데 DP를 풀어보기도 전에 DFS에서 막혀버렸다.ㅎㅎ
당분간은 학업에 집중하고 겨울방학 때 Backtracking, DFS 문제를 더 풀어야겠다.
동전 거슬러주기
문제 링크: https://www.codetree.ai/missions/2/problems/coin-change?&utm_source=clipboard&utm_medium=text
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
쉬운 난이도의 문제라 14분만에 해결했다.
아래는 본인이 작성한 테스트케이스를 완벽히 통과한 코드이다.
n, m = map(int, input().split())
coins = list(map(int, input().split()))
dp = [-1 for _ in range(m+1)]
dp[0] = 0 # 해당 금액에서 가능한 최소 동전의 개수
def in_range(i):
return i >= 0 and i <= m
for i in range(1, m+1):
for coin in coins:
if in_range(i-coin) and dp[i-coin] != -1:
if dp[i] == -1:
dp[i] = dp[i-coin] + 1
elif dp[i-coin] + 1 < dp[i]:
dp[i] = dp[i-coin] + 1
print(dp[m])
'Language > Python' 카테고리의 다른 글
[코드트리 챌린지] 7주차 - Backtracking (0) | 2023.10.19 |
---|---|
[코드트리 챌린지] - 6주차 Backtracking (0) | 2023.10.16 |
[코드트리 챌린지] 5주차 - Backtracking (2) | 2023.10.09 |
[코드트리 챌린지] 4주차 - K개 중 하나를 N번 선택하기(Simple) (2) | 2023.10.01 |
[코드트리 챌린지] 3주차 - K개 중 하나를 N번 선택하기(Simple) (0) | 2023.09.21 |