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
 */