JSFiddle - React, Tailwind, and code Playground
by jrab227
JavaScript
let r = 1;
let c = 10;
let supplierCost = (v) => (v === "A") ? r : c;
function costOfSchedule(assignment, schedule) {
var cost = 0;
for (var i = 0; i < assignment.length; i++) {
if (assignment[i] === "A") {
cost += 1 * schedule[i];
} else {
cost += 10
}
}
return cost;
}
function Scheduler(requirements) {
if (requirements.length < 4) return requirements.map(() => 'A');
let chooseA = ["A"].concat(Scheduler(requirements.slice(1)));
let chooseB = ["B", "B", "B", "B"].concat(Scheduler(requirements.slice(4)));
return (costOfSchedule(chooseA, requirements) < costOfSchedule(chooseB, requirements)) ?
chooseA : chooseB;
}
// Remove the bottom comment lines to verify
// alert(Scheduler([11, 9, 9, 12, 12, 12, 12, 9, 9, 11]))