1.Cooking masterclass
function cooking(input){
input=input.map(Number);
let budget=input.shift();
let students=input.shift();
let flourPrice=input.shift();
let singleEggPrice=input.shift();
let apronPrice=input.shift();
let moneyNeeded=0;
let aprons=0;
for (let i=1; i<=students; i++){
moneyNeeded+=singleEggPrice*10;
aprons++;
if (i%5!==0){
moneyNeeded+=flourPrice;
}
}
aprons=Math.ceil(aprons*1.2);
moneyNeeded+=apronPrice*aprons;
if (budget>=moneyNeeded){
console.log(`Items purchased for ${moneyNeeded.toFixed(2)}$.`);
} else {
console.log(`${(moneyNeeded-budget).toFixed(2)}$ more needed.`)
}
}
02. Bread Factory
function baker(input){
let energy=100;
let coins=100;
let arr=input[0].split("|");
let bonusEnergy=0;
for (let i=0; i<arr.length; i++){
element=arr[i];
let elAr=element.split("-");
let action = elAr[0];
let value=Number(elAr[1]);
if (action.includes("rest")){
if (energy+value>100){
bonusEnergy=100-energy;
}
else {
bonusEnergy=value;
}
energy+=bonusEnergy;
console.log(`You gained ${bonusEnergy} energy.`);
console.log(`Current energy: ${energy}.`);
} else if (action.includes("order")) {
if (energy-30>=0){
energy-=30;
coins+=value;
console.log(`You earned ${value} coins.`);
} else {
console.log("You had to rest!");
energy+=50;
}
} else {
if (coins-value>0){
coins-=value;
console.log(`You bought ${action}.`);
} else {
console.log(`Closed! Cannot afford ${action}.`);
breakFlag=true;
return;
}
}
}
console.log("Day completed!");
console.log(`Coins: ${coins}`);
console.log(`Energy: ${energy}`);
}
3.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(" "));
}