Files
advent-of-code-2022/2022/01/solution.ts
2022-12-05 21:29:56 +01:00

36 lines
908 B
TypeScript

const sample = await Deno.readTextFile("sample.txt");
const input = await Deno.readTextFile("input.txt");
const solvePart1 = (data: string): number | undefined =>
data
.split("\n\n")
.map((elf) =>
elf
.split("\n")
.filter(Boolean)
.map((value) => parseInt(value, 10))
.reduce((sum, value) => sum + value, 0)
)
.sort((a, b) => a - b)
.pop();
console.log("Sample:", solvePart1(sample));
console.log("Input", solvePart1(input));
const solvePart2 = (data: string): number =>
data
.split("\n\n")
.map((elf) =>
elf
.split("\n")
.filter(Boolean)
.map((value) => parseInt(value, 10))
.reduce((sum, value) => sum + value, 0)
)
.sort((a, b) => b - a)
.slice(0, 3)
.reduce((sum, value) => sum + value, 0);
console.log("Sample:", solvePart2(sample));
console.log("Input", solvePart2(input));