Skip to content

Commit

Permalink
fix(solution): fix solution of challenge 2022/05
Browse files Browse the repository at this point in the history
  • Loading branch information
borjapazr committed Nov 13, 2023
1 parent 242596c commit e4df164
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions 2022/challenge-05/solution.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,21 @@
const getMaxGifts = (giftsCities, maxGifts, maxCities) => {
const combinations = giftsCities.reduce(
(acc, cityGifts) => acc.concat(acc.map(existingCombination => [cityGifts].concat(existingCombination))),
[[]]
);

const validCombinations = combinations.filter(combination => combination.length <= maxCities);

const sums = validCombinations.map(combination => combination.reduce((total, current) => total + current, 0));

const validSums = sums.filter(sum => sum <= maxGifts);

return Math.max(...validSums);
};

// This solution is faster than the one above but it does not work for some test cases.
// Form example getMaxGiftsAlt([70, 50, 30], 80, 2) returns 70 but it should return 80
const getMaxGiftsAlt = (giftsCities, maxGifts, maxCities) => {
return giftsCities
.sort((cityGiftsA, cityGiftsB) => cityGiftsB - cityGiftsA)
.reduce((m, g) => {
Expand Down

0 comments on commit e4df164

Please sign in to comment.