advent-of-code-2024/day1/part2.ts

26 lines
774 B
TypeScript
Raw Normal View History

2024-12-01 14:10:32 -07:00
export async function solve() {
return await Deno.readTextFile("./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;
2024-11-30 22:39:43 -07:00
2024-12-01 14:10:32 -07:00
return acc;
}, {} as Record<number, number>),
] as const).then(([first, map]) =>
first.reduce((acc, cur) => acc + ((map[cur] ?? 0) * cur), 0)
);
}