JSFiddle - React, Tailwind, and code Playground
by Akshay Jain
JavaScript 1.7
input1 = 4;
input2 = [3, 4, 5, 10];
// Read only region start
function maxsoldier(input1, input2) {
// Read only region end
let findMax = (a, e) => {
if (a > e) return a;
else return e;
};
let divideSoldiers = (e, i, a) => {
if (i == 0) {
return a.slice(1)
} else if (i == a.length - 1) {
return a.slice(0, i);
} else {
return [a.slice(0, i), a.slice(i + 1)]
}
}
let sortSoldiers = e => {
if (e[0] instanceof Array) {
return [e[0].sort((a, b) => a - b), e[1].sort((a, b) => a - b)];
} else {
return e.sort((a, b) => a - b);
}
}
let getCapableSoldiers = e => {
if (e[0] instanceof Array) {
return [e[0].slice(-2), e[1].slice(0, 2)]
} else {
return e;
}
}
let getTotalSoldiers = e => {
if (e[0] instanceof Array) {
return e[0].reduce((a, e) => a + e, 0) + e[1].reduce((a, e) => a + e, 0);
} else {
return e.reduce((a, e) => a + e, 0);
}
}
let soldierArray = input2.map(divideSoldiers)
.map(sortSoldiers).map(getCapableSoldiers).map(getTotalSoldiers);
console.log(soldierArray);
return [soldierArray.findIndex(findMax), soldierArray.find(findMax)]
}
console.log('hi')
console.log(maxsoldier(input1, input2));