From 8f6ca57372beee032547e64ae700a363f23d97d0 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 11 Dec 2024 15:37:44 +0000 Subject: [PATCH] Day 11 --- 2024/11/index.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/2024/11/index.ts b/2024/11/index.ts index b2dc384..f80a96f 100644 --- a/2024/11/index.ts +++ b/2024/11/index.ts @@ -4,9 +4,11 @@ const input = fs.readFileSync(__dirname + '/input.txt', 'utf8'); let stones: Array = input.slice(0, -1).split(' '); +const countMap: { [key: string]: Array } = {}; + let sum = 0; -function splitStones(stones: Array) { +function getCountAfter(stone: string, blink: number) { const newStones: Array = []; stones.forEach((stone) => { if (stone === '0') { @@ -22,16 +24,17 @@ function splitStones(stones: Array) { } newStones.push(''+(parseInt(stone) * 2024)); }); - return newStones; + if (blink === 1) { + return newStones; + } + return newStones.sum((newStone) => getCountAfter(newStone, blink - 1)); } -let newStones = stones; - const blinks = 25; -for (let i = 0; i < blinks; i++) { - newStones = splitStones(newStones); -} +stones.forEach((stone) => { + sum += getCountAfter(stone, 25); +}); -console.log(newStones.length); +console.log(sum);