UNPKG

expeditaet

Version:
27 lines (21 loc) 671 B
import { task, Vec2 } from '@alexaegis/advent-of-code-lib'; import packageJson from '../package.json'; import { parse } from './parse.function.js'; export const p1 = (input: string): number => { const moves = parse(input); const head = new Vec2(0, 0); const tail = head.clone(); const tailTrail = new Set<string>(); tailTrail.add(tail.toString()); for (const move of moves) { for (let i = 0; i < move.count; i++) { head.addMut(move.direction); if (!head.isNeighbour(tail)) { tail.addMut(tail.subtract(head).normalizeMut()); tailTrail.add(tail.toString()); } } } return tailTrail.size; }; await task(p1, packageJson.aoc); // 6023 ~1.95ms