Browse Source

Prevent recalculating common multiple

master
Ben Ashton 1 year ago
parent
commit
02fb31d09d
  1. 13
      11/solution.mjs

13
11/solution.mjs

@ -122,13 +122,14 @@ console.log(
`Level of monkey business after 20 rounds: ${monkeyBusinessLevel}` `Level of monkey business after 20 rounds: ${monkeyBusinessLevel}`
); );
monkeys = getMonkeys(item => { let commonMultiple;
const commonMultiple = [...monkeys.values()] monkeys = getMonkeys(
.map(monkey => monkey.test.divisibleBy)
.reduce((total, divisibleBy) => total * divisibleBy);
// Reduce item by commonMultiple whenever it exceeds that value // Reduce item by commonMultiple whenever it exceeds that value
return item.worryLevel = item.worryLevel % commonMultiple; item => item.worryLevel = item.worryLevel % commonMultiple
}); );
commonMultiple = [...monkeys.values()]
.map(monkey => monkey.test.divisibleBy)
.reduce((total, divisibleBy) => total * divisibleBy);
simulateRounds(monkeys, 10000); simulateRounds(monkeys, 10000);
monkeyBusinessLevel = calculateMonkeyBusinessLevel(monkeys); monkeyBusinessLevel = calculateMonkeyBusinessLevel(monkeys);
console.log( console.log(

Loading…
Cancel
Save