Solve 2024-03

This commit is contained in:
2024-12-03 10:00:46 +01:00
parent 58c62fac1b
commit 07b6299f4b
4 changed files with 50 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
import { sumArray } from '../../utils/array';
export function solveFirst(input: string): number {
return sumArray(findAndEvalMul(input));
}
function findAndEvalMul(line?: string | null | undefined) {
return Array.from(
(line || '').matchAll(/mul\((\d{1,3}),(\d{1,3})\)/gm),
(m) => Number(m[1]) * Number(m[2])
);
}
export function solveSecond(input: string): number {
const splits = input.split('do()').map((l) => l.split("don't()")[0]);
return sumArray(splits.flatMap(findAndEvalMul));
}