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());