expeditaet
Version:
Advent of Code Solutions
23 lines (20 loc) • 688 B
text/typescript
/* eslint-disable @typescript-eslint/no-non-null-assertion */
import { task } from '@alexaegis/advent-of-code-lib';
import packageJson from '../package.json';
export const p1 = (input: number): string => {
const recipes: number[] = [3, 7];
let a = 0;
let b = 1;
for (let i = 0; recipes.length <= input + 10; i++) {
const next = recipes[a]! + recipes[b]!;
if (next >= 10) {
recipes.push(Math.floor(next / 10), next % 10);
} else {
recipes.push(next);
}
a = (a + recipes[a]! + 1) % recipes.length;
b = (b + recipes[b]! + 1) % recipes.length;
}
return recipes.splice(input, 10).join('');
};
await task(p1, packageJson.aoc, { input: 327_901 }); // 1115317115 ~9.6ms