CCCPaste

03. Cooking Factory

function bakeFactory(input) {
    input = input.slice(0, input.length - 1);
    let batchesObjArr = []


    for (let i = 0; i < input.length; i++) {
        let batch = input[i];
        let batchArr = batch.split("#");
        batchArr = batchArr.map(Number);
        let sum = 0;
        batchArr.forEach(element => {
            sum += element;
        });


        batchesObjArr.push({
            batch: batchArr,
            totalQ: sum,
            average: sum / batchArr.length
        });

    }

    batchesObjArr = batchesObjArr.sort(function (a, b) {
        return b.totalQ - a.totalQ;
    })
    let bestBatch = batchesObjArr[0].totalQ;


    batchesObjArr = batchesObjArr.filter((element => element.totalQ == bestBatch));
    batchesObjArr = batchesObjArr.sort(function (a, b) {
        return b.average - a.average;
    })

    batchesObjArr=batchesObjArr.sort(function(a,b){
        return a.batch.length-b.batch.length;
    })


    console.log(`Best Batch quality: ${bestBatch}`);
    console.log(batchesObjArr[0].batch.join(" "));
}