Table of Contents:
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 |
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 |
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) |