UNPKG

expeditaet

Version:
21 lines (16 loc) 710 B
import { hexToBits } from './model/hex-to-bits.function.js'; import { interpretPacket, isContainerPacket, type Packet } from './model/packet.interface.js'; import { task } from '@alexaegis/advent-of-code-lib'; import packageJson from '../package.json'; const sumVersions = (packet: Packet): number => packet.version + (isContainerPacket(packet) ? packet.subPackets.map((subPacket) => sumVersions(subPacket)).sum() : 0); export const p1 = (input: string): number => { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const bits = hexToBits(input.lines()[0]!); const packet = interpretPacket(bits); return sumVersions(packet); }; await task(p1, packageJson.aoc); // 920 ~0.26ms