Skip to content

Latest commit

 

History

History
222 lines (213 loc) · 14.9 KB

STATS.md

File metadata and controls

222 lines (213 loc) · 14.9 KB

Solution Statistics for 2023

Table of Contents:

All Solutions

Size Runtime Year, Day, Part, Solution
88 bytes <100 ms Day 01, Part 1, Python
246 bytes █▋ <100 ms Day 01, Part 2, Python
179 bytes █▎ <100 ms Day 02, Part 1, Python
184 bytes █▎ <100 ms Day 02, Part 2, Python
294 bytes ██ <100 ms Day 03, Part 1, Python (complex number dictionary)
332 bytes ██▏ <100 ms Day 03, Part 2, Python (complex number dictionary)
355 bytes ██▍ ~800 ms █▊ Day 03, Part 1, Python (list of spans)
399 bytes ██▋ ~400 ms █▏ Day 03, Part 2, Python (list of spans)
114 bytes <100 ms Day 04, Part 1, Python
175 bytes █▎ <100 ms Day 04, Part 2, Python
230 bytes █▌ <100 ms Day 05, Part 1, Python
423 bytes ██▊ <100 ms Day 05, Part 2, Python (interval processing)
116 bytes <100 ms Day 06, Part 1, Python
99 bytes ~5 s ███▏ Day 06, Part 2, Python (brute force)
105 bytes <100 ms Day 06, Part 2, Python (quadratic equation solving)
274 bytes █▉ <100 ms Day 07, Part 1, Python
421 bytes ██▊ <100 ms Day 07, Part 2, Python
202 bytes █▍ <100 ms Day 08, Part 1, Python
238 bytes █▋ <100 ms Day 08, Part 2, Python
154 bytes █▏ <100 ms Day 09, Part 1, Python
180 bytes █▎ <100 ms Day 09, Part 2, Python
343 bytes ██▎ <100 ms Day 10, Part 1, Python
529 bytes ███▍ ~300 ms Day 10, Part 2, Python (flood fill)
396 bytes ██▋ <100 ms Day 10, Part 2, Python (shoelace/Pick)
310 bytes ██ <100 ms Day 11, Part 1, Python (duplicating rows and columns)
307 bytes ██ <100 ms Day 11, Part 1, Python (coordinate translation)
315 bytes ██▏ <100 ms Day 11, Part 2, Python (coordinate translation)
365 bytes ██▍ ~20 s ████▏ Day 12, Part 1, Python (brute force)
323 bytes ██▏ ~100 ms Day 12, Part 1, Python (approach from part 2)
339 bytes ██▎ ~3 s ██▊ Day 12, Part 2, Python
211 bytes █▍ <100 ms Day 13, Part 1, Python
260 bytes █▊ <100 ms Day 13, Part 2, Python
184 bytes █▎ <100 ms Day 14, Part 1, Python (coordinate tuples)
382 bytes ██▌ ~1 s █▉ Day 14, Part 2, Python (coordinate tuples)
185 bytes █▎ <100 ms Day 14, Part 1, Python (complex numbers)
374 bytes ██▍ ~1.5 s ██▎ Day 14, Part 2, Python (complex numbers)
201 bytes █▍ <100 ms Day 14, Part 1, Python (string processing)
296 bytes ██ ~500 ms █▍ Day 14, Part 2, Python (string processing)
110 bytes <100 ms Day 15, Part 1, Python
290 bytes █▉ <100 ms Day 15, Part 2, Python
356 bytes ██▍ <100 ms Day 16, Part 1, Python
466 bytes ███ ~10 s ███▋ Day 16, Part 2, Python
350 bytes ██▎ ~1.5 s ██▎ Day 17, Part 1, Python
367 bytes ██▍ ~5 s ███▏ Day 17, Part 2, Python
340 bytes ██▎ ~150 ms Day 18, Part 1, Python (BFS filling)
699 bytes ████▌ ~400 ms █▏ Day 18, Part 2, Python (BFS filling + coordinate compression)
176 bytes █▎ <100 ms Day 18, Part 1, Python (shoelace/Pick)
174 bytes █▎ <100 ms Day 18, Part 2, Python (shoelace/Pick)
434 bytes ██▊ <100 ms Day 19, Part 1, Python
525 bytes ███▍ <100 ms Day 19, Part 2, Python
476 bytes ███▏ ~100 ms Day 20, Part 1, Python
515 bytes ███▎ ~350 ms █▏ Day 20, Part 2, Python (simulation)
326 bytes ██▏ <100 ms Day 20, Part 2, Python (input graph parsing)
191 bytes █▎ <100 ms Day 21, Part 1, Python
329 bytes ██▏ ~20 s ████▏ Day 21, Part 2, Python (full simulation)
358 bytes ██▍ ~600 ms █▌ Day 21, Part 2, Python (edge only)
498 bytes ███▎ ~800 ms █▊ Day 22, Part 1, Python
552 bytes ███▌ ~1 s █▉ Day 22, Part 2, Python
417 bytes ██▊ ~400 ms █▏ Day 23, Part 1, Python (direct maze DFS)
425 bytes ██▊ ~60 s █████ Day 23, Part 2, Python (graph DFS using sets)
503 bytes ███▎ ~35 s ████▋ Day 23, Part 2, Python (graph DFS using bitfields)
789 bytes █████ ~700 ms █▋ Day 23, Part 2, Python (generating and running C code)
265 bytes █▊ ~100 ms Day 24, Part 1, Python
601 bytes ███▉ <100 ms Day 24, Part 2, Python (single hailstone triple)
674 bytes ████▎ <100 ms Day 24, Part 2, Python (better numerical stability)
452 bytes ██▉ ~5 s ███▏ Day 25, Part 1, Python

Solutions by Size

Size Year, Day, Part, Solution
789 bytes █████ Day 23, Part 2, Python (generating and running C code)
699 bytes ████▌ Day 18, Part 2, Python (BFS filling + coordinate compression)
674 bytes ████▎ Day 24, Part 2, Python (better numerical stability)
601 bytes ███▉ Day 24, Part 2, Python (single hailstone triple)
552 bytes ███▌ Day 22, Part 2, Python
529 bytes ███▍ Day 10, Part 2, Python (flood fill)
525 bytes ███▍ Day 19, Part 2, Python
515 bytes ███▎ Day 20, Part 2, Python (simulation)
503 bytes ███▎ Day 23, Part 2, Python (graph DFS using bitfields)
498 bytes ███▎ Day 22, Part 1, Python
476 bytes ███▏ Day 20, Part 1, Python
466 bytes ███ Day 16, Part 2, Python
452 bytes ██▉ Day 25, Part 1, Python
434 bytes ██▊ Day 19, Part 1, Python
425 bytes ██▊ Day 23, Part 2, Python (graph DFS using sets)
423 bytes ██▊ Day 05, Part 2, Python (interval processing)
421 bytes ██▊ Day 07, Part 2, Python
417 bytes ██▊ Day 23, Part 1, Python (direct maze DFS)
399 bytes ██▋ Day 03, Part 2, Python (list of spans)
396 bytes ██▋ Day 10, Part 2, Python (shoelace/Pick)
382 bytes ██▌ Day 14, Part 2, Python (coordinate tuples)
374 bytes ██▍ Day 14, Part 2, Python (complex numbers)
367 bytes ██▍ Day 17, Part 2, Python
365 bytes ██▍ Day 12, Part 1, Python (brute force)
358 bytes ██▍ Day 21, Part 2, Python (edge only)
356 bytes ██▍ Day 16, Part 1, Python
355 bytes ██▍ Day 03, Part 1, Python (list of spans)
350 bytes ██▎ Day 17, Part 1, Python
343 bytes ██▎ Day 10, Part 1, Python
340 bytes ██▎ Day 18, Part 1, Python (BFS filling)
339 bytes ██▎ Day 12, Part 2, Python
332 bytes ██▏ Day 03, Part 2, Python (complex number dictionary)
329 bytes ██▏ Day 21, Part 2, Python (full simulation)
326 bytes ██▏ Day 20, Part 2, Python (input graph parsing)
323 bytes ██▏ Day 12, Part 1, Python (approach from part 2)
315 bytes ██▏ Day 11, Part 2, Python (coordinate translation)
310 bytes ██ Day 11, Part 1, Python (duplicating rows and columns)
307 bytes ██ Day 11, Part 1, Python (coordinate translation)
296 bytes ██ Day 14, Part 2, Python (string processing)
294 bytes ██ Day 03, Part 1, Python (complex number dictionary)
290 bytes █▉ Day 15, Part 2, Python
274 bytes █▉ Day 07, Part 1, Python
265 bytes █▊ Day 24, Part 1, Python
260 bytes █▊ Day 13, Part 2, Python
246 bytes █▋ Day 01, Part 2, Python
238 bytes █▋ Day 08, Part 2, Python
230 bytes █▌ Day 05, Part 1, Python
211 bytes █▍ Day 13, Part 1, Python
202 bytes █▍ Day 08, Part 1, Python
201 bytes █▍ Day 14, Part 1, Python (string processing)
191 bytes █▎ Day 21, Part 1, Python
185 bytes █▎ Day 14, Part 1, Python (complex numbers)
184 bytes █▎ Day 02, Part 2, Python
184 bytes █▎ Day 14, Part 1, Python (coordinate tuples)
180 bytes █▎ Day 09, Part 2, Python
179 bytes █▎ Day 02, Part 1, Python
176 bytes █▎ Day 18, Part 1, Python (shoelace/Pick)
175 bytes █▎ Day 04, Part 2, Python
174 bytes █▎ Day 18, Part 2, Python (shoelace/Pick)
154 bytes █▏ Day 09, Part 1, Python
116 bytes Day 06, Part 1, Python
114 bytes Day 04, Part 1, Python
110 bytes Day 15, Part 1, Python
105 bytes Day 06, Part 2, Python (quadratic equation solving)
99 bytes Day 06, Part 2, Python (brute force)
88 bytes Day 01, Part 1, Python

Solutions by Runtime

Runtime Year, Day, Part, Solution
~60 s █████ Day 23, Part 2, Python (graph DFS using sets)
~35 s ████▋ Day 23, Part 2, Python (graph DFS using bitfields)
~20 s ████▏ Day 12, Part 1, Python (brute force)
~20 s ████▏ Day 21, Part 2, Python (full simulation)
~10 s ███▋ Day 16, Part 2, Python
~5 s ███▏ Day 06, Part 2, Python (brute force)
~5 s ███▏ Day 17, Part 2, Python
~5 s ███▏ Day 25, Part 1, Python
~3 s ██▊ Day 12, Part 2, Python
~1.5 s ██▎ Day 14, Part 2, Python (complex numbers)
~1.5 s ██▎ Day 17, Part 1, Python
~1 s █▉ Day 14, Part 2, Python (coordinate tuples)
~1 s █▉ Day 22, Part 2, Python
~800 ms █▊ Day 03, Part 1, Python (list of spans)
~800 ms █▊ Day 22, Part 1, Python
~700 ms █▋ Day 23, Part 2, Python (generating and running C code)
~600 ms █▌ Day 21, Part 2, Python (edge only)
~500 ms █▍ Day 14, Part 2, Python (string processing)
~400 ms █▏ Day 03, Part 2, Python (list of spans)
~400 ms █▏ Day 18, Part 2, Python (BFS filling + coordinate compression)
~400 ms █▏ Day 23, Part 1, Python (direct maze DFS)
~350 ms █▏ Day 20, Part 2, Python (simulation)
~300 ms Day 10, Part 2, Python (flood fill)
~150 ms Day 18, Part 1, Python (BFS filling)
~100 ms Day 12, Part 1, Python (approach from part 2)
~100 ms Day 20, Part 1, Python
~100 ms Day 24, Part 1, Python
<100 ms Day 01, Part 1, Python
<100 ms Day 01, Part 2, Python
<100 ms Day 02, Part 1, Python
<100 ms Day 02, Part 2, Python
<100 ms Day 03, Part 1, Python (complex number dictionary)
<100 ms Day 03, Part 2, Python (complex number dictionary)
<100 ms Day 04, Part 1, Python
<100 ms Day 04, Part 2, Python
<100 ms Day 05, Part 1, Python
<100 ms Day 05, Part 2, Python (interval processing)
<100 ms Day 06, Part 1, Python
<100 ms Day 06, Part 2, Python (quadratic equation solving)
<100 ms Day 07, Part 1, Python
<100 ms Day 07, Part 2, Python
<100 ms Day 08, Part 1, Python
<100 ms Day 08, Part 2, Python
<100 ms Day 09, Part 1, Python
<100 ms Day 09, Part 2, Python
<100 ms Day 10, Part 1, Python
<100 ms Day 10, Part 2, Python (shoelace/Pick)
<100 ms Day 11, Part 1, Python (duplicating rows and columns)
<100 ms Day 11, Part 1, Python (coordinate translation)
<100 ms Day 11, Part 2, Python (coordinate translation)
<100 ms Day 13, Part 1, Python
<100 ms Day 13, Part 2, Python
<100 ms Day 14, Part 1, Python (coordinate tuples)
<100 ms Day 14, Part 1, Python (complex numbers)
<100 ms Day 14, Part 1, Python (string processing)
<100 ms Day 15, Part 1, Python
<100 ms Day 15, Part 2, Python
<100 ms Day 16, Part 1, Python
<100 ms Day 18, Part 1, Python (shoelace/Pick)
<100 ms Day 18, Part 2, Python (shoelace/Pick)
<100 ms Day 19, Part 1, Python
<100 ms Day 19, Part 2, Python
<100 ms Day 20, Part 2, Python (input graph parsing)
<100 ms Day 21, Part 1, Python
<100 ms Day 24, Part 2, Python (single hailstone triple)
<100 ms Day 24, Part 2, Python (better numerical stability)