-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.ts
49 lines (45 loc) · 1.23 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { readData } from './utils';
const puzzles: [number, number, number][] = [
// [1, 1, 2375403],
// [1, 2, 23082277],
// [2, 1, 516],
// [2, 2, 561],
// [3, 1, 160672468],
// [3, 2, 84893551],
// [4, 1, 2639],
// [4, 2, 2005],
// [5, 1, 4774],
// [5, 2, 6004],
// [6, 1, 5318],
// // [6, 2, 1831], // long
// [7, 1, 5702958180383],
// // [7, 2, 92612386119138], // long
// [8, 1, 318],
// [8, 2, 1126],
// // [9, 1, 6288707484810], // long
// // [9, 2, 6311837662089], // long
// [10, 1, 733],
// [10, 2, 1514],
// [11, 1, 186996],
// [11, 2, 221683913164898],
// [12, 1, 1434856],
// [12, 2, 891106],
// [13, 1, 29201],
// [13, 2, 104140871044942],
// [14, 1, 224554908],
// [14, 2, 6644],
];
const runPuzzle = async (day: number, part: number) => {
const d = day.toString().padStart(2, '0');
const { default: run } = await import(`./src/day-${d}/${part}.js`);
const data = readData(`./src/day-${d}/data.txt`);
return run(data);
};
const main = async () => {
for (let i = 0; i < puzzles.length; ++i) {
const [day, part, expected] = puzzles[i];
const result = await runPuzzle(day, part);
console.log(`${day}-${part}`, result, result === expected);
}
};
void main();