aoc-2024/day2.ts

23 lines
561 B
TypeScript
Raw Normal View History

2024-12-02 06:49:37 -05:00
import fs from "node:fs";
const input = fs.readFileSync("inputs/day2").toString();
const rows = input.split("\n").filter(Boolean);
function safe_levels(_row: number[]) {
const row = [..._row];
while (row.length > 1) {
const diff = row[1] - row[0];
if (diff > 3 || diff < 1) return false;
row.shift();
}
return true;
}
function puzzle1() {
return rows.map((row) => row.split(/\s+/g).map(i => +i))
.filter(row => safe_levels(row) || safe_levels(row.toReversed())).length;
}
console.log("Puzzle 1", puzzle1());