Dynamic Programming - Making Change
by gradbot
JavaScript
var coins = [1, 5, 10, 25];
function makeChange(value) {
var change = {};
for (var coin = coins.length; coin >= 0; coin--) {
var count = 0,
coinValue = coins[coin];
while (value >= coinValue) {
value -= coinValue;
count++;
}
if (count > 0) {
change[coinValue] = count;
}
}
return change;
}
console.log(makeChange(7));
console.log(makeChange(135));
console.log(makeChange(75));