JSFiddle - React, Tailwind, and code Playground
by Alex Myronov
JavaScript
const coins = [25, 10, 5, 1]
const makeChange = (money) => {
if (money === 0) return 0
if (money === 1) return 1
let min = money
let newMoney = money
coins.forEach((coin) => {
newMoney = money - coin
if (newMoney >= 0) {
const change = makeChange(newMoney)
if ((change + 1) < min) {
min = change + 1
}
}
})
return min
}
console.log(makeChange(82))
/* 82-25=57
57-25=32
32-25=7
7-5=2
2-1=1
*/