advent-of-code-2024/day1/part2.ts
2024-12-08 01:12:44 -07:00

25 lines
795 B
TypeScript

export async function solve() {
return await Deno.readTextFile(import.meta.dirname + "/input.txt").then(
(f) =>
f.split("\n").reduce<[number[], number[]]>(
(
acc,
cur,
) => [
[...acc[0], +cur.split(" ")[0]],
[...acc[1], +cur.split(" ")[1]],
],
[[], []],
),
).then(([first, second]) => [
first,
second.reduce((acc, cur) => {
if (acc[cur] !== undefined) acc[cur]++;
else acc[cur] = 1;
return acc;
}, {} as Record<number, number>),
] as const).then(([first, map]) =>
first.reduce((acc, cur) => acc + ((map[cur] ?? 0) * cur), 0)
);
}