From f68515f8834d4e04ca4439b17c2c31d699b3ffa9 Mon Sep 17 00:00:00 2001 From: Dimitri Lozeve Date: Sun, 1 Dec 2024 10:16:42 +0100 Subject: [PATCH] 2024 day 1 deno --- 2024/day01/day01.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 2024/day01/day01.ts diff --git a/2024/day01/day01.ts b/2024/day01/day01.ts new file mode 100644 index 0000000..1d04366 --- /dev/null +++ b/2024/day01/day01.ts @@ -0,0 +1,16 @@ +#!/usr/bin/env -S deno run --allow-read +const input = await Deno.readTextFile("input"); +const parsedInput = input + .split("\n") + .map((s) => s.split(" ")) + .filter((l) => l.length == 2) + .map((l) => [parseInt(l[0]), parseInt(l[1])]); +const left = parsedInput.map((l) => l[0]).sort(); +const right = parsedInput.map((l) => l[1]).sort(); +console.log( + left.map((x, i) => Math.abs(x - right[i])).reduce((t, c) => t + c, 0), +); +const counts = Object.groupBy(right, (x) => x); +console.log( + left.map((n) => n * (counts[n]?.length || 0)).reduce((t, c) => t + c, 0), +);