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

25 lines
684 B
TypeScript
Raw Normal View History

2024-11-30 22:39:43 -07:00
const input = 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;
return acc;
}, {} as Record<number, number>),
]).then(([first, map]) =>
first.reduce((acc, cur) => acc + ((map[cur] ?? 0) * cur), 0)
);
console.log("Answer = " + input);