UNPKG

expeditaet

Version:
26 lines (23 loc) 762 B
import { task } from '@alexaegis/advent-of-code-lib'; import packageJson from '../package.json'; import { parseAsSeparateRaces } from './parse.js'; interface RaceResult { boatSpeed: number; distanceTraveled: number; record: number; } export const p1 = (input: string): number => parseAsSeparateRaces(input) .map( (race) => Array.from({ length: race.time }) .map<RaceResult>((_v, i) => { const boatSpeed = i; const remainingTime = race.time - boatSpeed; const distanceTraveled = remainingTime * boatSpeed; return { boatSpeed, distanceTraveled, record: race.distance }; }) .filter((result) => result.distanceTraveled > result.record).length, ) .product(); await task(p1, packageJson.aoc); // 160816 ~40μs