UNPKG

expeditaet

Version:
30 lines (23 loc) 806 B
import { task } from '@alexaegis/advent-of-code-lib'; import packageJson from '../package.json'; import { Planet } from './model/planet.class.js'; import { parse } from './parse.js'; export const p1 = (input: string): number => { const orbits = parse(input); const planets = new Map<string, Planet>(); for (const orbit of orbits) { let innerPlanet = planets.get(orbit.i); if (!innerPlanet) { innerPlanet = new Planet(orbit.i); planets.set(orbit.i, innerPlanet); } let outerPlanet = planets.get(orbit.o); if (!outerPlanet) { outerPlanet = new Planet(orbit.o); planets.set(orbit.o, outerPlanet); } innerPlanet.orbiters.push(outerPlanet); } return [...planets.entries()].reduce((acc, [_, p]) => acc + [...p].length, 0); }; await task(p1, packageJson.aoc); // 223251 526ms