JSFiddle - React, Tailwind, and code Playground
by mithun
JavaScript
function analyse(input) {
var costs = [];
var cost;
while (input.length > 1) {
input = input.sort(function(a,b){return a - b});
cost = input.shift() + input.shift();
costs.push(cost);
input.push(cost);
}
return costs;
}
var input = [1, 5, 10, 12, 20];
var costs = analyse (input);
var totalCost = costs.reduce(function(a, b) { return a + b; }, 0);
console.log(costs);
console.log(totalCost);