Editor

Coin Change (Dynamic Programming)

Advanced · Write the code · from 50 Python Practice Problems with Instant Answer Checking (Beginner to Advanced)

From the lesson: 50 Python Practice Problems with Instant Answer Checking (Beginner to Advanced)

Fifty problems, each with a code editor and real tests. Write your solution, press Check, and see exactly which cases pass. Stuck? Hints reveal one at a time, and the solution unlocks once you have checked at least once. Your code and progress are saved in this browser.

Read the lesson

Write min_coins(coins, amount) that returns the fewest coins that add up to amount (each coin can be used any number of times), or -1 if it is impossible.

min_coins([1, 2, 5], 11)  ->  3   (5 + 5 + 1)
def min_coins(coins, amount):
pass
Solution unlocks after your first Check

What Check runs

Your code runs first, then each of these lines. The output must match exactly.

RunsExpected output
min_coins([1, 2, 5], 11)3
min_coins([2], 3)-1

More practice problems

All Python exercises · 50 practice problems