From 02fb31d09d024ef686f0a7c113afaa1de42245eb Mon Sep 17 00:00:00 2001 From: Ben Ashton Date: Sun, 11 Dec 2022 23:45:41 -0700 Subject: [PATCH] Prevent recalculating common multiple --- 11/solution.mjs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/11/solution.mjs b/11/solution.mjs index 1c7c39f..8fdb13d 100644 --- a/11/solution.mjs +++ b/11/solution.mjs @@ -122,13 +122,14 @@ console.log( `Level of monkey business after 20 rounds: ${monkeyBusinessLevel}` ); -monkeys = getMonkeys(item => { - const commonMultiple = [...monkeys.values()] - .map(monkey => monkey.test.divisibleBy) - .reduce((total, divisibleBy) => total * divisibleBy); +let commonMultiple; +monkeys = getMonkeys( // 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); monkeyBusinessLevel = calculateMonkeyBusinessLevel(monkeys); console.log(