2025. 8. 8. 23:05ㆍPS 풀이/Code Tree
문제
https://www.codetree.ai/ko/trails/complete/curated-cards/challenge-max-coin-change/description
최대 동전 거슬러주기 설명 | 코드트리
최대 동전 거슬러주기를 풀며 문제 구성과 난이도를 파악해 적절한 알고리즘을 선정해보세요. 효율적인 코드 작성을 목표로 합니다.
www.codetree.ai
풀이
문제 요약
종류 N개의 동전을 최대한 많이 사용해서 M을 만들자.
아이디어
금액 M에서 coin[j]을 뺀 금액을 만들 수 없는 경우가 존재한다. 이를 유의하며 coin[j - 1]를 만드는 수를 이용해 coin[j]를 만드는 수를 구하자.
점화식은 다음과 같다.
dp[i] : i를 만들기 위해 사용된 동전의 최대 갯수
dp[i] = max(dp[i], dp[i - coin[j]] + 1)
dp = [-1] * (M + 1)
dp[0] = 0
for i in range(1, M + 1):
for num in coin:
if i >= num and dp[i - num] != -1:
dp[i] = max(dp[i], dp[i - num] + 1)
풀이 시간
10분
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/code-tree/Trail-4-Intermediate-Low/DP I/23 최대 동전 거슬러주기(challenge-max-coin-change).py
problem-solving/code-tree/Trail-4-Intermediate-Low/DP I/23 최대 동전 거슬러주기(challenge-max-coin-change).py at main
Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.
github.com
'PS 풀이 > Code Tree' 카테고리의 다른 글
| [Code Tree] 배낭 채우기 [Python] (0) | 2025.08.17 |
|---|---|
| [Code Tree] 1, 2, 5 더하기 [Python] (0) | 2025.08.07 |
| [Code Tree] 부분 수열의 합이 M [Python] (1) | 2025.07.12 |
| [Code Tree] 동전 거슬러주기 [Python] (1) | 2025.07.11 |
| [Code Tree] 알바로 부자 되기 [Python] (4) | 2025.07.09 |