Hi there! Thanks for checking out my Advent of Code repo!
I solve Advent of Code problems in Java, making extensive use of its Stream API. I also like to refactor generic concepts into abstractions, to keep the code as easy to read as possible. Though sometimes I still succumb to the chaos monster!
Feel free to use this repo to learn about solution directions, or fork it as a template for your own solutions :)
Day | Solution | Part 1 Time | Part 2 Time |
---|---|---|---|
1 | Day 1 | 63ms | 13ms |
2 | Day 2 | 2ms | 10ms |
3 | Day 3 | 5ms | 1ms |
4 | Day 4 | 51ms | 982ms |
5 | Day 5 | 16ms | 43ms |
6 | Day 6 | 7ms | 1181ms |
7 | Day 7 | 16ms | 286ms |
8 | Day 8 | 10ms | 6ms |
9 | Day 9 | 1190ms | 373ms |
10 | Day 10 | 28ms | 9ms |
11 | Day 11 | 4ms | 45ms |
12 | Day 12 | 44ms | 67ms |
13 | Day 13 | 9ms | 2ms |
14 | Day 14 | 10ms | 797ms |
15 | Day 15 | 53ms | 31ms |
16 | Day 16 | 91ms | 84ms |
17 | Day 17 | 2ms | 10ms |
18 | Day 18 | 17ms | 2799ms |
19 | Day 19 | 178ms | 103ms |
20 | Day 20 | 106ms | 2113ms |
21 | Day 21 | 6ms | 2ms |
22 | Day 22 | 64ms | 1968ms |
23 | Day 23 | 128ms | 403ms |
24 | Day 24 | 11ms | 1ms |
25 | Day 25 | 65ms | 0ms |
Day | Solution | Part 1 Time | Part 2 Time |
---|---|---|---|
1 | Day 1 | 33ms | 19ms |
2 | Day 2 | 61ms | 18ms |
3 | Day 3 | 46ms | 89ms |
4 | Day 4 | 12ms | 6ms |
5 | Day 5 | 7ms | 7ms |
6 | Day 6 | 3ms | 242ms |
7 | Day 7 | 26ms | 19ms |
8 | Day 8 | 12ms | 25ms |
9 | Day 9 | 12ms | 6ms |
10 | Day 10 | 13ms | 225ms |
11 | Day 11 | 200ms | 139ms |
12 | Day 12 | 20ms | 135ms |
13 | Day 13 | 33ms | 22ms |
14 | Day 14 | 267ms | 1313ms |
15 | Day 15 | 8ms | 26ms |
16 | Day 16 | 24ms | 1272ms |
17 | Day 17 | 178ms | 300ms |
18 | Day 18 | 118ms | 4ms |
19 | Day 19 | 7ms | 6ms |
20 | Day 20 | 34ms | 72ms |
21 | Day 21 | 40ms | 2090ms |
22 | Day 22 | 821ms | 724ms |
23 | Day 23 | 10253ms | 26333ms |
24 | Day 24 | 8ms | 9ms |
25 | Day 25 | 182ms | 0ms |
Day | Solution | Part 1 Time | Part 2 Time |
---|---|---|---|
1 | Day 1 | 29ms | 6ms |
2 | Day 2 | 53ms | 16ms |
3 | Day 3 | 11ms | 10ms |
4 | Day 4 | 18ms | 4ms |
5 | Day 5 | 13ms | 8ms |
6 | Day 6 | 6ms | 7ms |
7 | Day 7 | 6ms | 2ms |
8 | Day 8 | 22ms | 9ms |
9 | Day 9 | 35ms | 41ms |
10 | Day 10 | 1ms | 1ms |
11 | Day 11 | 10ms | 120ms |
12 | Day 12 | 569ms | 19883ms |
13 | Day 13 | 22ms | 26ms |
14 | Day 14 | 78ms | 836ms |
15 | Day 15 | 797ms | 7ms |
16 | Day 16 | 28343ms | 37080ms |
17 | Day 17 | 530ms | 2127ms |
18 | Day 18 | 79ms | 1512ms |
19 | Day 19 | 11244ms | 17188ms |
20 | Day 20 | 46ms | 361ms |
21 | Day 21 | 25ms | 1604ms |
22 | Day 22 | 12ms | 14ms |
23 | Day 23 | 32ms | 1422ms |
24 | Day 24 | 127ms | 6704ms |
25 | Day 25 | 1ms | 0ms |
Day | Solution | Part 1 Time | Part 2 Time |
---|---|---|---|
1 | Day 1 | 28ms | 2ms |
2 | Day 2 | 44ms | 7ms |
3 | Day 3 | 1ms | 25ms |
4 | Day 4 | 16ms | 7ms |
5 | Day 5 | 59ms | 90ms |
6 | Day 6 | 4ms | 2ms |
7 | Day 7 | 175ms | 80ms |
8 | Day 8 | 3ms | 31ms |
9 | Day 9 | 17ms | 28ms |
10 | Day 10 | 3ms | 2ms |
11 | Day 11 | 8ms | 17ms |
12 | Day 12 | 25ms | 1342ms |
13 | Day 13 | 0ms | 5ms |
14 | Day 14 | 5ms | 4ms |
15 | Day 15 | 17ms | 71ms |
16 | Day 16 | 8ms | 5ms |
17 | Day 17 | 293ms | 286ms |
18 | Day 18 | 84ms | 809ms |
19 | Day 19 | 1091ms | 1035ms |
20 | Day 20 | 61ms | 6146ms |
21 | Day 21 | 0ms | 139ms |
22 | Day 22 | 434ms | 148ms |
23 | Day 23 | 557ms | 576ms |
24 | Day 24 | 0ms | 0ms |
25 | Day 25 | 81ms | 0ms |
Day | Solution | Part 1 Time | Part 2 Time |
---|---|---|---|
1 | Day 1 | 28ms | 8ms |
2 | Day 2 | 50ms | 7ms |
3 | Day 3 | 1ms | 0ms |
4 | Day 4 | 6ms | 15ms |
5 | Day 5 | 2ms | 2ms |
6 | Day 6 | 5ms | 9ms |
7 | Day 7 | 53ms | 787ms |
8 | Day 8 | 2ms | 33ms |
9 | Day 9 | 28ms | 15ms |
10 | Day 10 | 3ms | 0ms |
11 | Day 11 | 224ms | 83ms |
12 | Day 12 | 6ms | 2ms |
13 | Day 13 | 1ms | 1ms |
14 | Day 14 | 11ms | 90ms |
15 | Day 15 | 1ms | 2819ms |
16 | Day 16 | 2ms | 22ms |
17 | Day 17 | 16ms | 213ms |
18 | Day 18 | 2ms | 1ms |
19 | Day 19 | 2459ms | 2494ms |
20 | Day 20 | 9ms | 1ms |
21 | Day 21 | 13ms | 6ms |
22 | Day 22 | 2ms | 113ms |
23 | Day 23 | 3ms | 1602ms |
24 | Day 24 | 12ms | 240ms |
25 | Day 25 | 50ms | 0ms |
Day | Solution | Part 1 Time | Part 2 Time |
---|---|---|---|
1 | Day 1 | 20ms | 0ms |
2 | Day 2 | 10ms | 301ms |
3 | Day 3 | 1ms | 0ms |
4 | Day 4 | 10ms | 7ms |
5 | Day 5 | 0ms | 0ms |
6 | Day 6 | 83ms | 45ms |
7 | Day 7 | 57ms | 46ms |
8 | Day 8 | 4ms | 4ms |
9 | Day 9 | 1ms | 148ms |
10 | Day 10 | 27ms | 23ms |
11 | Day 11 | 43ms | 5ms |
12 | Day 12 | 1ms | 255ms |
13 | Day 13 | 8ms | 295ms |
14 | Day 14 | 2ms | 6ms |
15 | Day 15 | 0ms | 143ms |
16 | Day 16 | 10ms | 146ms |
17 | Day 17 | 0ms | 60ms |
18 | Day 18 | 1151ms | 1645ms |
19 | Day 19 | 413ms | 280ms |
20 | Day 20 | 125ms | 98ms |
21 | Day 21 | 9ms | 201ms |
22 | Day 22 | 29ms | 4ms |
23 | Day 23 | 4ms | 58ms |
24 | Day 24 | 3ms | 1002ms |
25 | Day 25 | 26ms | 0ms |
Day | Solution | Part 1 Time | Part 2 Time |
---|---|---|---|
1 | Day 1 | 18ms | 20ms |
2 | Day 2 | 10ms | 12ms |
3 | Day 3 | 179ms | 49ms |
4 | Day 4 | 54ms | 18ms |
5 | Day 5 | 1330ms | 6261ms |
6 | Day 6 | 4522ms | 92ms |
7 | Day 7 | 9ms | 5ms |
8 | Day 8 | 29ms | 23ms |
9 | Day 9 | 10ms | 465ms |
10 | Day 10 | 1369ms | 1055ms |
11 | Day 11 | 8ms | 60ms |
12 | Day 12 | 49ms | 209ms |
13 | Day 13 | 26ms | 558ms |
14 | Day 14 | 51ms | 489ms |
15 | Day 15 | 126ms | 557ms |
16 | Day 16 | 13ms | 15ms |
17 | Day 17 | 41ms | 24ms |
18 | Day 18 | 217ms | 59893ms |
19 | Day 19 | 1126ms | 26ms |
20 | Day 20 | 4ms | 0ms |
21 | Day 21 | 2ms | 3ms |
22 | Day 22 | 1ms | 197ms |
23 | Day 23 | 4ms | 44ms |
24 | Day 24 | 19ms | 96ms |
25 | Day 25 | 27ms | 0ms |
Day | Solution | Part 1 Time | Part 2 Time |
---|---|---|---|
1 | Day 1 | 20ms | 1ms |
2 | Day 2 | 4ms | 7ms |
3 | Day 3 | 0ms | 0ms |
4 | Day 4 | 4ms | 25ms |
5 | Day 5 | 6ms | 60ms |
6 | Day 6 | 8ms | 3ms |
7 | Day 7 | 12ms | 11ms |
8 | Day 8 | 3ms | 1ms |
9 | Day 9 | 1ms | 1ms |
10 | Day 10 | 0ms | 4ms |
11 | Day 11 | 1ms | 2ms |
12 | Day 12 | 7ms | 13ms |
13 | Day 13 | 0ms | 106ms |
14 | Day 14 | 52ms | 28ms |
15 | Day 15 | 126ms | 251ms |
16 | Day 16 | 8ms | 218ms |
17 | Day 17 | 0ms | 387ms |
18 | Day 18 | 3ms | 146ms |
19 | Day 19 | 2ms | 1ms |
20 | Day 20 | 3ms | 37ms |
21 | Day 21 | 1ms | 1197ms |
22 | Day 22 | 4ms | 1732ms |
23 | Day 23 | 51ms | 0ms |
24 | Day 24 | 449ms | 367ms |
25 | Day 25 | 1453ms | 0ms |
Day | Solution | Part 1 Time | Part 2 Time |
---|---|---|---|
1 | Day 1 | 18ms | 1ms |
2 | Day 2 | 0ms | 0ms |
3 | Day 3 | 20ms | 8ms |
4 | Day 4 | 28ms | 7ms |
5 | Day 5 | 1211ms | 3726ms |
6 | Day 6 | 4ms | 2ms |
7 | Day 7 | 22ms | 23ms |
8 | Day 8 | 1ms | 0ms |
9 | Day 9 | 0ms | 1ms |
10 | Day 10 | 3ms | 1ms |
11 | Day 11 | 177ms | 230ms |
12 | Day 12 | 160ms | 3062ms |
13 | Day 13 | 2ms | 0ms |
14 | Day 14 | 159ms | 17577ms |
15 | Day 15 | 6ms | 21ms |
16 | Day 16 | 2ms | 292ms |
17 | Day 17 | 0ms | 70ms |
18 | Day 18 | 0ms | 471ms |
19 | Day 19 | 101ms | 0ms |
20 | Day 20 | 3ms | 2ms |
21 | Day 21 | 2ms | 1ms |
22 | Day 22 | 27ms | 5ms |
23 | Day 23 | 0ms | 0ms |
24 | Day 24 | 49ms | 25ms |
25 | Day 25 | 3648ms | 0ms |
Day | Solution | Part 1 Time | Part 2 Time |
---|---|---|---|
1 | Day 1 | 14ms | 10ms |
2 | Day 2 | 43ms | 11ms |
3 | Day 3 | 6ms | 7ms |
4 | Day 4 | 253ms | 3683ms |
5 | Day 5 | 18ms | 14ms |
6 | Day 6 | 3197ms | 4497ms |
7 | Day 7 | 107ms | 148ms |
8 | Day 8 | 2ms | 0ms |
9 | Day 9 | 79ms | 93ms |
10 | Day 10 | 44ms | 116ms |
11 | Day 11 | 18ms | 68ms |
12 | Day 12 | 5ms | 15ms |
13 | Day 13 | 52ms | 277ms |
14 | Day 14 | 0ms | 6ms |
15 | Day 15 | 28ms | 24ms |
16 | Day 16 | 2ms | 1ms |
17 | Day 17 | 3ms | 3ms |
18 | Day 18 | 732ms | 783ms |
19 | Day 19 | 3ms | 0ms |
20 | Day 20 | 2446ms | 2827ms |
21 | Day 21 | 2ms | 0ms |
22 | Day 22 | 14ms | 18ms |
23 | Day 23 | 3ms | 1ms |
24 | Day 24 | 9031ms | 331ms |
25 | Day 25 | 67ms | 0ms |