UNPKG

expeditaet

Version:
31 lines (28 loc) 840 B
import { task } from '@alexaegis/advent-of-code-lib'; import packageJson from '../package.json'; import { interpreter } from './interpreter.function.js'; export const p1 = (input: string): number | undefined => { const cave = interpreter(input); if (cave) { cave.normalize(); // console.log(`i: 0 cave: ${cave.toString()}`); for (let i = 0; i < 20; i++) { let nextGen = '..'; for (let p = 2; p < cave.row.length - 2; p++) { const char = cave.row.charAt(p); if (cave.rules.includes(cave.row.slice(p - 2, p + 3))) { nextGen += char === '.' ? '#' : '.'; } else { nextGen += char; } } cave.row = nextGen; cave.normalize(); // console.log(`i: ${i + 1} cave: ${cave.toString()}`); } return cave.score(); } else { return undefined; } }; await task(p1, packageJson.aoc); // 3230 ~0.8ms