What is your hint or solution suggestion?
Solution
function combinations(possibleNumbers, total) {
let validPerms = [];
let permutations = [];
genPerm(permutations, possibleNumbers, [], 3);
console.log(`permutations size ${permutations.length}`)
for(let i = 0; i < permutations.length; i++){
let permutation = permutations[i];
if(permutation[0] % 2 == 0){
if(permutation.reduce((acc, elem) => acc + elem) == total){
validPerms.push(permutation);
}
}
}
console.log(validPerms);
return validPerms;
}
function genPerm(acc, options, current, size){
if(current.length < size){
for(let i = 0; i < options.length; i++){
let remainingOptions = options.toSpliced(i, 1);
let clone = current.slice();
clone.push(options[i]);
genPerm(acc, remainingOptions, clone, size);
}
} else {
acc.push(current);
}
}
Challenge: Department Numbers
Link to the challenge: