diff --git a/day2.ts b/day2.ts index 5750c3e..633889b 100644 --- a/day2.ts +++ b/day2.ts @@ -20,3 +20,19 @@ function puzzle1() { } console.log("Puzzle 1", puzzle1()); + +function dampen_lists(row: number[]) { + const rows: number[][] = new Array(row.length).fill(row).map((_row, i) => { + const row = [..._row]; + row.splice(i, 1); + return row; + }); + return [row, ...rows].filter(safe_levels).length > 0; +} + +function puzzle2() { + return rows.map((row) => row.split(/\s+/g).map(i => +i)) + .filter(row => dampen_lists(row) || dampen_lists(row.toReversed())).length; +} + +console.log("Puzzle 2", puzzle2()); \ No newline at end of file