Back to Freecodecamp

Challenge 179: Pocket Change

curriculum/challenges/english/blocks/daily-coding-challenges-python/69738771fb5a7b8b24cca2a5.md

latest1.9 KB
Original Source

--description--

Given an array of integers representing the coins in your pocket, with each integer being the value of a coin in cents, return the total amount in the format "$D.CC".

  • 100 cents equals 1 dollar.
  • In the return value, include a leading zero for amounts less than one dollar and always exactly two digits for the cents.

--hints--

count_change([25, 10, 5, 1]) should return "$0.41".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(count_change([25, 10, 5, 1]), "$0.41")`)
}})

count_change([25, 10, 5, 1, 25, 10, 25, 1, 1, 10, 5, 25]) should return "$1.43".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(count_change([25, 10, 5, 1, 25, 10, 25, 1, 1, 10, 5, 25]), "$1.43")`)
}})

count_change([100, 25, 100, 1000, 5, 500, 2000, 25]) should return "$37.55".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(count_change([100, 25, 100, 1000, 5, 500, 2000, 25]), "$37.55")`)
}})

count_change([10, 5, 1, 10, 1, 25, 1, 1, 5, 1, 10]) should return "$0.70".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(count_change([10, 5, 1, 10, 1, 25, 1, 1, 5, 1, 10]), "$0.70")`)
}})

count_change([1]) should return "$0.01".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(count_change([1]), "$0.01")`)
}})

count_change([25, 25, 25, 25]) should return "$1.00".

js
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(count_change([25, 25, 25, 25]), "$1.00")`)
}})

--seed--

--seed-contents--

py
def count_change(change):

    return change

--solutions--

py
def count_change(change):
    total_cents = sum(change)
    dollars = total_cents // 100
    cents = total_cents % 100
    return f"${dollars}.{cents:02d}"