diff --git a/packages/server/lib/coin-change.js b/packages/server/lib/coin-change.js index 38e42e92..91f37483 100644 --- a/packages/server/lib/coin-change.js +++ b/packages/server/lib/coin-change.js @@ -9,11 +9,12 @@ */ const prepare_denominations = denominations => JSON.parse(JSON.stringify(denominations)) - .sort(([d1], [d2]) => d1 < d2) + .sort(([d1], [d2]) => d2 - d1) .reduce( ([csum, denoms], [denom, count]) => { csum += denom * count - return [csum, [{ denom, count, csum }].concat(denoms)] + denoms.push({ denom, count, csum }) + return [csum, denoms] }, [0, []], )[1] /* ([csum, denoms]) => denoms */