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);