expeditaet
Version:
Advent of Code Solutions
23 lines (20 loc) • 629 B
text/typescript
import { task } from '@alexaegis/advent-of-code-lib';
import packageJson from '../package.json';
import { calculateVariations, parse } from './parse.js';
export const p1 = (input: string): number =>
parse(input)
.map((entry) => {
const [currentCriteria, ...remainingCriteria] = entry.criteria;
if (!currentCriteria) {
throw new Error('no criteria for line');
}
return calculateVariations({
currentCriteria,
currentOriginalCriteria: currentCriteria,
rebuiltLog: '',
remainingCriteria,
remainingDamagedLog: entry.log,
});
})
.sum();
await task(p1, packageJson.aoc); // 7118 ~30.83ms