Table of Contents:
Size | Runtime | Day, Part, Solution | ||
---|---|---|---|---|
59 bytes | ▍ | <100 ms | ▏ | 2015, Day 01, Part 1, Python |
92 bytes | ▌ | <100 ms | ▏ | 2015, Day 01, Part 2, Python |
99 bytes | ▌ | <100 ms | ▏ | 2015, Day 02, Part 1, Python |
95 bytes | ▌ | <100 ms | ▏ | 2015, Day 02, Part 2, Python |
109 bytes | ▋ | <100 ms | ▏ | 2015, Day 03, Part 1, Python |
128 bytes | ▋ | <100 ms | ▏ | 2015, Day 03, Part 2, Python |
89 bytes | ▌ | ~150 ms | ▎ | 2015, Day 04, Part 1, Python |
89 bytes | ▌ | ~3.5 s | █▌ | 2015, Day 04, Part 2, Python |
142 bytes | ▊ | <100 ms | ▏ | 2015, Day 05, Part 1, Python |
117 bytes | ▋ | <100 ms | ▏ | 2015, Day 05, Part 2, Python |
226 bytes | █▏ | ~3.5 s | █▌ | 2015, Day 06, Part 1, Python |
229 bytes | █▏ | ~5 s | █▋ | 2015, Day 06, Part 2, Python |
65 bytes | ▍ | <100 ms | ▏ | 2015, Day 08, Part 1, Python |
66 bytes | ▍ | <100 ms | ▏ | 2015, Day 08, Part 2, Python |
186 bytes | ▉ | ~100 ms | ▏ | 2015, Day 09, Part 1, Python |
186 bytes | ▉ | ~100 ms | ▏ | 2015, Day 09, Part 2, Python |
121 bytes | ▋ | ~700 ms | ▉ | 2015, Day 10, Part 1, Python |
133 bytes | ▊ | ~6 s | █▊ | 2015, Day 10, Part 2, Python |
276 bytes | █▍ | ~150 ms | ▎ | 2015, Day 11, Part 1, Python |
314 bytes | █▌ | ~6 s | █▊ | 2015, Day 11, Part 2, Python |
75 bytes | ▌ | <100 ms | ▏ | 2015, Day 12, Part 1, Python |
186 bytes | ▉ | <100 ms | ▏ | 2015, Day 12, Part 2, Python |
287 bytes | █▍ | ~150 ms | ▎ | 2015, Day 13, Part 1, Python |
298 bytes | █▍ | ~1.5 s | █▏ | 2015, Day 13, Part 2, Python |
122 bytes | ▋ | <100 ms | ▏ | 2015, Day 14, Part 1, Python |
203 bytes | █ | <100 ms | ▏ | 2015, Day 14, Part 2, Python |
253 bytes | █▎ | ~1 s | █ | 2015, Day 15, Part 1, Python |
263 bytes | █▎ | ~1 s | █ | 2015, Day 15, Part 2, Python |
264 bytes | █▎ | <100 ms | ▏ | 2015, Day 16, Part 1, Python |
327 bytes | █▌ | <100 ms | ▏ | 2015, Day 16, Part 2, Python |
112 bytes | ▋ | ~3 s | █▍ | 2015, Day 17, Part 1, Python |
166 bytes | ▉ | ~3 s | █▍ | 2015, Day 17, Part 2, Python |
292 bytes | █▍ | ~1 s | █ | 2015, Day 18, Part 1, Python |
350 bytes | █▋ | ~1 s | █ | 2015, Day 18, Part 2, Python |
275 bytes | █▍ | <100 ms | ▏ | 2015, Day 19, Part 1, Python |
240 bytes | █▏ | <100 ms | ▏ | 2015, Day 19, Part 2, Python (dumb DFS) |
281 bytes | █▍ | <100 ms | ▏ | 2015, Day 19, Part 2, Python (greedy DFS) |
141 bytes | ▊ | ~3 s | █▍ | 2015, Day 20, Part 1, Python |
148 bytes | ▊ | ~4 s | █▌ | 2015, Day 20, Part 2, Python |
335 bytes | █▋ | <100 ms | ▏ | 2015, Day 21, Part 1, Python |
334 bytes | █▋ | <100 ms | ▏ | 2015, Day 21, Part 2, Python |
530 bytes | ██▍ | ~1 s | █ | 2015, Day 22, Part 1, Python |
547 bytes | ██▌ | ~5 s | █▋ | 2015, Day 22, Part 2, Python |
276 bytes | █▍ | <100 ms | ▏ | 2015, Day 23, Part 1, Python |
276 bytes | █▍ | <100 ms | ▏ | 2015, Day 23, Part 2, Python |
232 bytes | █▏ | ~15 m | ███▋ | 2015, Day 24, Part 1, Python (brute-force) |
145 bytes | ▊ | ~3 s | █▍ | 2015, Day 25, Part 1, Python |
142 bytes | ▊ | <100 ms | ▏ | 2016, Day 01, Part 1, Python |
212 bytes | █ | <100 ms | ▏ | 2016, Day 01, Part 2, Python |
161 bytes | ▉ | <100 ms | ▏ | 2016, Day 02, Part 1, Python |
177 bytes | ▉ | <100 ms | ▏ | 2016, Day 02, Part 2, Python |
84 bytes | ▌ | <100 ms | ▏ | 2016, Day 03, Part 1, Python |
143 bytes | ▊ | <100 ms | ▏ | 2016, Day 03, Part 2, Python |
178 bytes | ▉ | <100 ms | ▏ | 2016, Day 04, Part 1, Python |
151 bytes | ▊ | <100 ms | ▏ | 2016, Day 04, Part 2, Python |
123 bytes | ▋ | ~10 s | █▉ | 2016, Day 05, Part 1, Python |
172 bytes | ▉ | ~40 s | ██▍ | 2016, Day 05, Part 2, Python |
92 bytes | ▌ | <100 ms | ▏ | 2016, Day 06, Part 1, Python |
92 bytes | ▌ | <100 ms | ▏ | 2016, Day 06, Part 2, Python |
147 bytes | ▊ | <100 ms | ▏ | 2016, Day 07, Part 1, Python |
208 bytes | █ | <100 ms | ▏ | 2016, Day 07, Part 2, Python |
155 bytes | ▊ | <100 ms | ▏ | 2016, Day 09, Part 1, Python |
186 bytes | ▉ | <100 ms | ▏ | 2016, Day 09, Part 2, Python |
320 bytes | █▌ | <100 ms | ▏ | 2016, Day 10, Part 1, Python |
336 bytes | █▋ | <100 ms | ▏ | 2016, Day 10, Part 2, Python |
640 bytes | ██▉ | ~15 s | ██ | 2016, Day 11, Part 1, Python (without canonicalization) |
701 bytes | ███▏ | ~6 s | █▊ | 2016, Day 11, Part 2, Python (with canonicalization) |
236 bytes | █▏ | <100 ms | ▏ | 2016, Day 13, Part 1, Python |
253 bytes | █▎ | <100 ms | ▏ | 2016, Day 13, Part 2, Python |
198 bytes | █ | ~2 s | █▎ | 2016, Day 14, Part 1, Python |
271 bytes | █▎ | ~30 s | ██▎ | 2016, Day 14, Part 2, Python |
124 bytes | ▋ | <100 ms | ▏ | 2016, Day 15, Part 1, Python |
147 bytes | ▊ | ~1 s | █ | 2016, Day 15, Part 2, Python |
173 bytes | ▉ | <100 ms | ▏ | 2016, Day 16, Part 1, Python |
180 bytes | ▉ | ~10 s | █▉ | 2016, Day 16, Part 2, Python |
326 bytes | █▌ | ~150 ms | ▎ | 2016, Day 16, Part 2, C |
273 bytes | █▎ | ~100 ms | ▏ | 2016, Day 17, Part 1, Python |
286 bytes | █▍ | ~3.5 s | █▌ | 2016, Day 17, Part 2, Python |
146 bytes | ▊ | <100 ms | ▏ | 2016, Day 18, Part 1, Python |
150 bytes | ▊ | ~7 s | █▊ | 2016, Day 18, Part 2, Python |
131 bytes | ▊ | ~1.5 s | █▏ | 2016, Day 19, Part 1, Python |
166 bytes | ▉ | ~8 s | █▊ | 2016, Day 19, Part 2, Python |
276 bytes | █▍ | ~100 ms | ▏ | 2016, Day 19, Part 2, C |
127 bytes | ▋ | <100 ms | ▏ | 2016, Day 20, Part 1, Python |
179 bytes | ▉ | <100 ms | ▏ | 2016, Day 20, Part 2, Python |
410 bytes | █▉ | <100 ms | ▏ | 2016, Day 21, Part 1, Python |
417 bytes | █▉ | <100 ms | ▏ | 2016, Day 21, Part 2, Python |
142 bytes | ▊ | ~200 ms | ▍ | 2016, Day 22, Part 1, Python |
181 bytes | ▉ | <100 ms | ▏ | 2016, Day 22, Part 2, Python |
367 bytes | █▊ | <100 ms | ▏ | 2016, Day 23, Part 1, Python |
100 bytes | ▌ | <100 ms | ▏ | 2016, Day 23, Part 2, Python |
419 bytes | █▉ | <100 ms | ▏ | 2016, Day 24, Part 1, Python |
425 bytes | ██ | <100 ms | ▏ | 2016, Day 24, Part 2, Python |
114 bytes | ▋ | <100 ms | ▏ | 2016, Day 25, Part 1, Python |
93 bytes | ▌ | <100ms | ▏ | 2017, Day 01, Part 1, Python |
100 bytes | ▌ | <100ms | ▏ | 2017, Day 01, Part 2, Python |
87 bytes | ▌ | <100 ms | ▏ | 2017, Day 02, Part 1, Python |
151 bytes | ▊ | <100 ms | ▏ | 2017, Day 02, Part 2, Python |
68 bytes | ▍ | <100 ms | ▏ | 2017, Day 03, Part 1, Python |
202 bytes | █ | <100 ms | ▏ | 2017, Day 03, Part 2, Python |
115 bytes | ▋ | <100 ms | ▏ | 2017, Day 04, Part 1, Python |
132 bytes | ▊ | <100 ms | ▏ | 2017, Day 04, Part 2, Python |
102 bytes | ▋ | ~100 ms | ▏ | 2017, Day 05, Part 1, Python |
112 bytes | ▋ | ~10 s | █▉ | 2017, Day 05, Part 2, Python |
199 bytes | █ | <100 ms | ▏ | 2017, Day 06, Part 1, Python |
235 bytes | █▏ | <100 ms | ▏ | 2017, Day 06, Part 2, Python |
128 bytes | ▋ | <100 ms | ▏ | 2017, Day 07, Part 1, Python |
383 bytes | █▊ | <100 ms | ▏ | 2017, Day 07, Part 2, Python |
291 bytes | █▍ | <100 ms | ▏ | 2017, Day 08, Part 1, Python |
303 bytes | █▍ | <100 ms | ▏ | 2017, Day 08, Part 2, Python |
170 bytes | ▉ | <100 ms | ▏ | 2017, Day 10, Part 1, Python |
253 bytes | █▎ | <100 ms | ▏ | 2017, Day 10, Part 2, Python |
167 bytes | ▉ | <100 ms | ▏ | 2017, Day 11, Part 1, Python |
194 bytes | █ | <100 ms | ▏ | 2017, Day 11, Part 2, Python |
159 bytes | ▊ | <100 ms | ▏ | 2017, Day 12, Part 1, Python |
197 bytes | █ | <100 ms | ▏ | 2017, Day 12, Part 2, Python |
149 bytes | ▊ | <100 ms | ▏ | 2017, Day 13, Part 1, Python |
167 bytes | ▉ | ~5 s | █▋ | 2017, Day 13, Part 2, Python |
341 bytes | █▋ | ~500 ms | ▊ | 2017, Day 14, Part 1, Python |
586 bytes | ██▋ | ~500 ms | ▊ | 2017, Day 14, Part 2, Python |
154 bytes | ▊ | ~10 s | █▉ | 2017, Day 15, Part 1, Python |
195 bytes | █ | ~8 s | █▊ | 2017, Day 15, Part 2, Python |
234 bytes | █▏ | ~100 ms | ▏ | 2017, Day 16, Part 1, Python |
309 bytes | █▌ | ~750 ms | ▉ | 2017, Day 16, Part 2, Python |
80 bytes | ▌ | <100 ms | ▏ | 2017, Day 17, Part 1, Python (full simulation with arrays) |
136 bytes | ▊ | ~10 h | █████ | 2017, Day 17, Part 2, Python (full simulation with circular list) |
299 bytes | █▍ | ~8 m | ███▍ | 2017, Day 17, Part 2, C (full simulation with circular list) |
90 bytes | ▌ | ~12 s | ██ | 2017, Day 17, Part 2, Python (tracking) |
355 bytes | █▋ | <100 ms | ▏ | 2017, Day 18, Part 1, Python |
548 bytes | ██▌ | ~200 ms | ▍ | 2017, Day 18, Part 2, Python |
262 bytes | █▎ | <100 ms | ▏ | 2017, Day 19, Part 1, Python |
242 bytes | █▏ | <100 ms | ▏ | 2017, Day 19, Part 2, Python |
210 bytes | █ | ~350 ms | ▋ | 2017, Day 20, Part 1, Python |
290 bytes | █▍ | ~350 ms | ▋ | 2017, Day 20, Part 2, Python |
220 bytes | █▏ | <100 ms | ▏ | 2017, Day 22, Part 1, Python |
229 bytes | █▏ | ~5 s | █▋ | 2017, Day 22, Part 2, Python |
321 bytes | █▌ | <100 ms | ▏ | 2017, Day 23, Part 1, Python |
149 bytes | ▊ | ~750 ms | ▉ | 2017, Day 23, Part 2, Python |
210 bytes | █ | ~5 s | █▋ | 2017, Day 24, Part 1, Python |
259 bytes | █▎ | ~5 s | █▋ | 2017, Day 24, Part 2, Python |
292 bytes | █▍ | ~5 s | █▋ | 2017, Day 25, Part 1, Python |
38 bytes | ▎ | <100 ms | ▏ | 2018, Day 01, Part 1, Python |
118 bytes | ▋ | <100 ms | ▏ | 2018, Day 01, Part 2, Python |
129 bytes | ▋ | <100 ms | ▏ | 2018, Day 02, Part 1, Python |
135 bytes | ▊ | <100 ms | ▏ | 2018, Day 02, Part 2, Python |
197 bytes | █ | ~350 ms | ▋ | 2018, Day 03, Part 1, Python |
291 bytes | █▍ | ~1 s | █ | 2018, Day 03, Part 2, Python |
359 bytes | █▋ | <100 ms | ▏ | 2018, Day 04, Part 1, Python |
359 bytes | █▋ | <100 ms | ▏ | 2018, Day 04, Part 2, Python |
181 bytes | ▉ | ~4 s | █▌ | 2018, Day 05, Part 1, Python (multi-pass) |
260 bytes | █▎ | ~2 s | █▎ | 2018, Day 05, Part 2, Python (single-pass) |
357 bytes | █▋ | ~2 s | █▎ | 2018, Day 06, Part 1, Python |
255 bytes | █▎ | ~750 ms | ▉ | 2018, Day 06, Part 2, Python |
246 bytes | █▎ | <100 ms | ▏ | 2018, Day 07, Part 1, Python |
408 bytes | █▉ | <100 ms | ▏ | 2018, Day 07, Part 2, Python |
163 bytes | ▉ | <100 ms | ▏ | 2018, Day 08, Part 1, Python |
232 bytes | █▏ | <100 ms | ▏ | 2018, Day 08, Part 2, Python |
204 bytes | █ | ~500 ms | ▊ | 2018, Day 09, Part 1, Python (array) |
276 bytes | █▍ | ~30 s | ██▎ | 2018, Day 09, Part 2, Python (CDLL) |
427 bytes | ██ | ~200 ms | ▍ | 2018, Day 09, Part 2, C (CDLL) |
201 bytes | █ | ~150 ms | ▎ | 2018, Day 11, Part 1, Python |
260 bytes | █▎ | ~10 m | ███▌ | 2018, Day 11, Part 2, Python (naive) |
305 bytes | █▌ | ~25 s | ██▎ | 2018, Day 11, Part 2, Python (pre-summed matrix) |
361 bytes | █▋ | ~6 s | █▊ | 2018, Day 11, Part 2, Python (optimized pre-summed matrix) |
303 bytes | █▍ | ~3.5 s | █▌ | 2018, Day 11, Part 2, Python (SAT) |
442 bytes | ██ | ~150 ms | ▎ | 2018, Day 11, Part 2, C (optimized pre-summed matrix) |
381 bytes | █▊ | ~150 ms | ▎ | 2018, Day 11, Part 2, C (SAT) |
289 bytes | █▍ | <100 ms | ▏ | 2018, Day 12, Part 1, Python |
342 bytes | █▋ | <100 ms | ▏ | 2018, Day 12, Part 2, Python |
480 bytes | ██▎ | <100 ms | ▏ | 2018, Day 13, Part 1, Python |
569 bytes | ██▋ | ~150 ms | ▎ | 2018, Day 13, Part 2, Python |
158 bytes | ▊ | ~400 ms | ▋ | 2018, Day 14, Part 1, Python |
177 bytes | ▉ | ~20 s | ██▏ | 2018, Day 14, Part 2, Python |
314 bytes | █▌ | ~500 ms | ▊ | 2018, Day 14, Part 2, C |
631 bytes | ██▉ | <100 ms | ▏ | 2018, Day 16, Part 1, Python |
812 bytes | ███▋ | <100 ms | ▏ | 2018, Day 16, Part 2, Python |
457 bytes | ██▏ | <100 ms | ▏ | 2018, Day 18, Part 1, Python |
562 bytes | ██▌ | ~3 s | █▍ | 2018, Day 18, Part 2, Python |
661 bytes | ███ | ~3 s | █▍ | 2018, Day 19, Part 1, Python (plain simulation) |
704 bytes | ███▏ | ~1 s | █ | 2018, Day 19, Part 2, Python (host computation) |
130 bytes | ▋ | <100 ms | ▏ | 2018, Day 21, Part 1, Python (host computation) |
195 bytes | █ | <100 ms | ▏ | 2018, Day 21, Part 2, Python (host computation) |
279 bytes | █▍ | <100 ms | ▏ | 2018, Day 22, Part 1, Python |
614 bytes | ██▊ | ~10 s | █▉ | 2018, Day 22, Part 2, Python (simple) |
601 bytes | ██▊ | ~4 s | █▌ | 2018, Day 22, Part 2, Python (optimized) |
150 bytes | ▊ | <100 ms | ▏ | 2018, Day 23, Part 1, Python |
356 bytes | █▋ | ~500 ms | ▊ | 2018, Day 23, Part 2, Python |
271 bytes | █▎ | ~7 s | █▊ | 2018, Day 25, Part 1, Python |
48 bytes | ▍ | <100 ms | ▏ | 2019, Day 01, Part 1, Python |
80 bytes | ▌ | <100 ms | ▏ | 2019, Day 01, Part 2, Python |
149 bytes | ▊ | <100 ms | ▏ | 2019, Day 02, Part 1, Python |
197 bytes | █ | ~600 ms | ▊ | 2019, Day 02, Part 2, Python |
210 bytes | █ | ~150 ms | ▎ | 2019, Day 03, Part 1, Python |
214 bytes | █ | ~150 ms | ▎ | 2019, Day 03, Part 2, Python |
121 bytes | ▋ | ~1 s | █ | 2019, Day 04, Part 1, Python |
122 bytes | ▋ | ~1 s | █ | 2019, Day 04, Part 2, Python |
271 bytes | █▎ | <100 ms | ▏ | 2019, Day 05, Part 1, Python |
342 bytes | █▋ | <100 ms | ▏ | 2019, Day 05, Part 2, Python |
113 bytes | ▋ | <100 ms | ▏ | 2019, Day 06, Part 1, Python |
165 bytes | ▉ | <100 ms | ▏ | 2019, Day 06, Part 2, Python |
462 bytes | ██▏ | ~150 ms | ▎ | 2019, Day 07, Part 1, Python |
603 bytes | ██▊ | ~150 ms | ▎ | 2019, Day 07, Part 2, Python |
166 bytes | ▉ | <100 ms | ▏ | 2019, Day 08, Part 1, Python |
200 bytes | █ | <100 ms | ▏ | 2019, Day 08, Part 2, Python |
418 bytes | █▉ | <100 ms | ▏ | 2019, Day 09, Part 1, Python |
418 bytes | █▉ | ~2.5 s | █▍ | 2019, Day 09, Part 2, Python |
371 bytes | █▊ | ~1.5 s | █▏ | 2019, Day 10, Part 1, Python |
575 bytes | ██▋ | ~7.5 s | █▊ | 2019, Day 10, Part 2, Python |
701 bytes | ███▏ | ~30 s | ██▎ | 2019, Day 10, Part 2, Python (with visualization) |
499 bytes | ██▎ | ~500 ms | ▊ | 2019, Day 11, Part 1, Python |
561 bytes | ██▌ | ~100 ms | ▏ | 2019, Day 11, Part 2, Python |
345 bytes | █▋ | <100 ms | ▏ | 2019, Day 12, Part 1, Python |
473 bytes | ██▏ | ~5 s | █▋ | 2019, Day 12, Part 2, Python (derived from part 1 solution) |
368 bytes | █▊ | ~6 s | █▊ | 2019, Day 12, Part 2, Python (full axis separation) |
432 bytes | ██ | ~100 ms | ▏ | 2019, Day 13, Part 1, Python |
517 bytes | ██▍ | ~3 s | █▍ | 2019, Day 13, Part 2, Python |
314 bytes | █▌ | <100 ms | ▏ | 2019, Day 14, Part 1, Python |
377 bytes | █▊ | <100 ms | ▏ | 2019, Day 14, Part 2, Python |
665 bytes | ███ | ~300 ms | ▌ | 2019, Day 15, Part 1, Python |
773 bytes | ███▌ | ~300 ms | ▌ | 2019, Day 15, Part 2, Python |
214 bytes | █ | ~5 s | █▋ | 2019, Day 16, Part 1, Python (computing and "caching" the transform matrix first) |
185 bytes | ▉ | ~10 s | █▉ | 2019, Day 16, Part 1, Python (computing the transform matrix on-the-fly) |
179 bytes | ▉ | ~10 s | █▉ | 2019, Day 16, Part 2, Python |
546 bytes | ██▌ | ~250 ms | ▌ | 2019, Day 17, Part 1, Python |
1128 bytes | █████ | ~500 ms | ▊ | 2019, Day 17, Part 2, Python |
666 bytes | ███ | ~300 ms | ▌ | 2019, Day 18, Part 1, Python |
842 bytes | ███▊ | ~700 ms | ▉ | 2019, Day 18, Part 2, Python |
494 bytes | ██▎ | ~3.5 s | █▌ | 2019, Day 19, Part 1, Python (brute force) |
561 bytes | ██▌ | ~350 ms | ▋ | 2019, Day 19, Part 2, Python (fast search with slope estimation) |
519 bytes | ██▍ | ~5 s | █▋ | 2019, Day 19, Part 2, Python (edge walking) |
432 bytes | ██ | <100 ms | ▏ | 2019, Day 20, Part 1, Python |
667 bytes | ███ | ~600 ms | ▊ | 2019, Day 20, Part 2, Python |
488 bytes | ██▎ | ~150 ms | ▎ | 2019, Day 21, Part 1, Python |
540 bytes | ██▌ | ~3.5 s | █▌ | 2019, Day 21, Part 2, Python |
208 bytes | █ | ~100 ms | ▏ | 2019, Day 22, Part 1, Python (full deck simulation) |
146 bytes | ▊ | <100 ms | ▏ | 2019, Day 22, Part 1, Python (single card tracing) |
387 bytes | █▊ | <100 ms | ▏ | 2019, Day 22, Part 2, Python (reverse construction) |
337 bytes | █▋ | <100 ms | ▏ | 2019, Day 22, Part 2, Python (forward construction) |
690 bytes | ███▏ | ~150 ms | ▎ | 2019, Day 23, Part 1, Python (machines as classes) |
668 bytes | ███ | ~150 ms | ▎ | 2019, Day 23, Part 1, Python (machines as dictionaries) |
738 bytes | ███▍ | ~1 s | █ | 2019, Day 23, Part 2, Python |
269 bytes | █▎ | <100 ms | ▏ | 2019, Day 24, Part 1, Python |
551 bytes | ██▌ | ~600 ms | ▊ | 2019, Day 24, Part 2, Python |
1106 bytes | ████▉ | ~6 s | █▊ | 2019, Day 25, Part 1, Python |
79 bytes | ▌ | <100 ms | ▏ | 2020, Day 01, Part 1, Python |
98 bytes | ▌ | ~600 ms | ▊ | 2020, Day 01, Part 2, Python |
137 bytes | ▊ | <100 ms | ▏ | 2020, Day 02, Part 1, Python |
144 bytes | ▊ | <100 ms | ▏ | 2020, Day 02, Part 2, Python |
100 bytes | ▌ | <100 ms | ▏ | 2020, Day 03, Part 1, Python |
158 bytes | ▊ | <100 ms | ▏ | 2020, Day 03, Part 2, Python |
160 bytes | ▉ | <100 ms | ▏ | 2020, Day 04, Part 1, Python |
446 bytes | ██ | <100 ms | ▏ | 2020, Day 04, Part 2, Python |
99 bytes | ▌ | <100 ms | ▏ | 2020, Day 05, Part 1, Python |
142 bytes | ▊ | <100 ms | ▏ | 2020, Day 05, Part 2, Python |
77 bytes | ▌ | <100 ms | ▏ | 2020, Day 06, Part 1, Python |
133 bytes | ▊ | <100 ms | ▏ | 2020, Day 06, Part 2, Python |
202 bytes | █ | <100 ms | ▏ | 2020, Day 07, Part 1, Python |
212 bytes | █ | <100 ms | ▏ | 2020, Day 07, Part 2, Python |
157 bytes | ▊ | <100 ms | ▏ | 2020, Day 08, Part 1, Python |
258 bytes | █▎ | <100 ms | ▏ | 2020, Day 08, Part 2, Python |
144 bytes | ▊ | ~150 ms | ▎ | 2020, Day 09, Part 1, Python |
227 bytes | █▏ | ~250 ms | ▌ | 2020, Day 09, Part 2, Python |
104 bytes | ▋ | <100 ms | ▏ | 2020, Day 10, Part 1, Python |
137 bytes | ▊ | <100 ms | ▏ | 2020, Day 10, Part 2, Python |
347 bytes | █▋ | ~1.5 s | █▏ | 2020, Day 11, Part 1, Python (with 2D arrays) |
269 bytes | █▎ | ~2.5 s | █▍ | 2020, Day 11, Part 1, Python (with dictionaries) |
373 bytes | █▊ | ~3 s | █▍ | 2020, Day 11, Part 2, Python |
177 bytes | ▉ | <100 ms | ▏ | 2020, Day 12, Part 1, Python |
191 bytes | █ | <100 ms | ▏ | 2020, Day 12, Part 2, Python |
118 bytes | ▋ | <100 ms | ▏ | 2020, Day 13, Part 1, Python |
137 bytes | ▊ | <100 ms | ▏ | 2020, Day 13, Part 2, Python |
179 bytes | ▉ | <100 ms | ▏ | 2020, Day 14, Part 1, Python |
292 bytes | █▍ | ~150 ms | ▎ | 2020, Day 14, Part 2, Python |
112 bytes | ▋ | <100 ms | ▏ | 2020, Day 15, Part 1, Python |
116 bytes | ▋ | ~15 s | ██ | 2020, Day 15, Part 2, Python |
223 bytes | █▏ | ~1.5 s | █▏ | 2020, Day 15, Part 2, C |
204 bytes | █ | <100 ms | ▏ | 2020, Day 16, Part 1, Python |
528 bytes | ██▍ | <100 ms | ▏ | 2020, Day 16, Part 2, Python |
328 bytes | █▌ | <100 ms | ▏ | 2020, Day 17, Part 1, Python |
357 bytes | █▋ | ~1.5 s | █▏ | 2020, Day 17, Part 2, Python |
263 bytes | █▎ | <100 ms | ▏ | 2020, Day 18, Part 1, Python |
392 bytes | █▉ | <100 ms | ▏ | 2020, Day 18, Part 2, Python (manual parsing) |
236 bytes | █▏ | <100 ms | ▏ | 2020, Day 18, Part 2, Python (eval hack) |
431 bytes | ██ | <100 ms | ▏ | 2020, Day 19, Part 1, Python |
504 bytes | ██▎ | ~300 ms | ▌ | 2020, Day 19, Part 2, Python |
347 bytes | █▋ | <100 ms | ▏ | 2020, Day 20, Part 1, Python |
879 bytes | ███▉ | ~150 ms | ▎ | 2020, Day 20, Part 2, Python |
217 bytes | █▏ | <100 ms | ▏ | 2020, Day 22, Part 1, Python |
358 bytes | █▋ | ~2.5 s | █▍ | 2020, Day 22, Part 2, Python |
197 bytes | █ | <100 ms | ▏ | 2020, Day 23, Part 1, Python |
244 bytes | █▏ | ~15 s | ██ | 2020, Day 23, Part 2, Python |
387 bytes | █▊ | ~600 ms | ▊ | 2020, Day 23, Part 2, C |
186 bytes | ▉ | <100 ms | ▏ | 2020, Day 24, Part 1, Python |
402 bytes | █▉ | ~2 s | █▎ | 2020, Day 24, Part 2, Python |
116 bytes | ▋ | ~5 s | █▋ | 2020, Day 25, Part 1, Python |
68 bytes | ▍ | <100 ms | ▏ | 2021, Day 01, Part 1, Python |
92 bytes | ▌ | <100 ms | ▏ | 2021, Day 01, Part 2, Python |
106 bytes | ▋ | <100 ms | ▏ | 2021, Day 02, Part 1, Python (using complex numbers) |
105 bytes | ▋ | <100 ms | ▏ | 2021, Day 02, Part 1, Python (using separate components) |
114 bytes | ▋ | <100 ms | ▏ | 2021, Day 02, Part 2, Python |
120 bytes | ▋ | <100 ms | ▏ | 2021, Day 03, Part 1, Python |
181 bytes | ▉ | <100 ms | ▏ | 2021, Day 03, Part 2, Python |
342 bytes | █▋ | <100 ms | ▏ | 2021, Day 04, Part 1, Python |
352 bytes | █▋ | <100 ms | ▏ | 2021, Day 04, Part 2, Python |
295 bytes | █▍ | <100 ms | ▏ | 2021, Day 05, Part 1, Python (coordinate list) |
275 bytes | █▍ | ~150 ms | ▎ | 2021, Day 05, Part 1, Python (using part 2 approach) |
253 bytes | █▎ | ~250 ms | ▌ | 2021, Day 05, Part 2, Python |
137 bytes | ▊ | <100 ms | ▏ | 2021, Day 06, Part 1, Python |
138 bytes | ▊ | <100 ms | ▏ | 2021, Day 06, Part 2, Python |
104 bytes | ▋ | ~150 ms | ▎ | 2021, Day 07, Part 1, Python |
128 bytes | ▋ | ~400 ms | ▋ | 2021, Day 07, Part 2, Python |
118 bytes | ▋ | <100 ms | ▏ | 2021, Day 08, Part 1, Python |
455 bytes | ██▏ | <100 ms | ▏ | 2021, Day 08, Part 2, Python |
185 bytes | ▉ | <100 ms | ▏ | 2021, Day 09, Part 1, Python |
328 bytes | █▌ | <100 ms | ▏ | 2021, Day 09, Part 2, Python (using low point seeds) |
311 bytes | █▌ | ~100 ms | ▏ | 2021, Day 09, Part 2, Python (using arbitrary seeds) |
208 bytes | █ | <100 ms | ▏ | 2021, Day 10, Part 1, Python |
251 bytes | █▎ | <100 ms | ▏ | 2021, Day 10, Part 2, Python |
321 bytes | █▌ | <100 ms | ▏ | 2021, Day 11, Part 1, Python |
321 bytes | █▌ | <100 ms | ▏ | 2021, Day 11, Part 2, Python |
220 bytes | █▏ | <100 ms | ▏ | 2021, Day 12, Part 1, Python |
258 bytes | █▎ | ~1 s | █ | 2021, Day 12, Part 2, Python |
237 bytes | █▏ | <100 ms | ▏ | 2021, Day 13, Part 1, Python |
286 bytes | █▍ | <100 ms | ▏ | 2021, Day 13, Part 2, Python |
233 bytes | █▏ | <100 ms | ▏ | 2021, Day 14, Part 1, Python |
375 bytes | █▊ | <100 ms | ▏ | 2021, Day 14, Part 2, Python |
199 bytes | █ | <100 ms | ▏ | 2021, Day 15, Part 1, Python |
376 bytes | █▊ | ~7 s | █▊ | 2021, Day 15, Part 2, Python (BFS) |
422 bytes | ██ | ~1 s | █ | 2021, Day 15, Part 2, Python (Dijkstra) |
297 bytes | █▍ | <100 ms | ▏ | 2021, Day 16, Part 1, Python |
438 bytes | ██ | <100 ms | ▏ | 2021, Day 16, Part 2, Python |
232 bytes | █▏ | ~500 ms | ▊ | 2021, Day 17, Part 1, Python |
216 bytes | █ | ~1 s | █ | 2021, Day 17, Part 2, Python |
560 bytes | ██▌ | ~350 ms | ▋ | 2021, Day 18, Part 1, Python |
622 bytes | ██▉ | ~4 s | █▌ | 2021, Day 18, Part 2, Python |
532 bytes | ██▍ | ~30 s | ██▎ | 2021, Day 19, Part 1, Python |
610 bytes | ██▊ | ~30 s | ██▎ | 2021, Day 19, Part 2, Python |
365 bytes | █▊ | <100 ms | ▏ | 2021, Day 20, Part 1, Python |
375 bytes | █▊ | ~10 s | █▉ | 2021, Day 20, Part 2, Python |
194 bytes | █ | <100 ms | ▏ | 2021, Day 21, Part 1, Python |
346 bytes | █▋ | ~250 ms | ▌ | 2021, Day 21, Part 2, Python |
254 bytes | █▎ | ~2 s | █▎ | 2021, Day 22, Part 1, Python |
425 bytes | ██ | ~40 m | ████ | 2021, Day 22, Part 2, Python (naive approach with coordinate compression) |
402 bytes | █▉ | ~15 s | ██ | 2021, Day 22, Part 2, Python (cube-splitting approach) |
982 bytes | ████▍ | ~2.5 s | █▍ | 2021, Day 23, Part 1, Python |
1000 bytes | ████▌ | ~2.5 s | █▍ | 2021, Day 23, Part 2, Python |
281 bytes | █▍ | ~10 s | █▉ | 2021, Day 24, Part 1, Python |
278 bytes | █▍ | ~1 s | █ | 2021, Day 24, Part 2, Python |
337 bytes | █▋ | ~20 m | ███▊ | 2021, Day 25, Part 1, Python (sets) |
361 bytes | █▋ | ~3 s | █▍ | 2021, Day 25, Part 1, Python (2D array) |
181 bytes | ▉ | ~350 ms | ▋ | 2021, Day 25, Part 1, Python (strings) |
82 bytes | ▌ | <100 ms | ▏ | 2022, Day 01, Part 1, Python |
95 bytes | ▌ | <100 ms | ▏ | 2022, Day 01, Part 2, Python |
101 bytes | ▌ | <100 ms | ▏ | 2022, Day 02, Part 1, Python |
91 bytes | ▌ | <100 ms | ▏ | 2022, Day 02, Part 2, Python |
122 bytes | ▋ | <100 ms | ▏ | 2022, Day 03, Part 1, Python |
128 bytes | ▋ | <100 ms | ▏ | 2022, Day 03, Part 2, Python |
118 bytes | ▋ | <100 ms | ▏ | 2022, Day 04, Part 1, Python |
103 bytes | ▋ | <100 ms | ▏ | 2022, Day 04, Part 2, Python |
282 bytes | █▍ | <100 ms | ▏ | 2022, Day 05, Part 1, Python |
276 bytes | █▍ | <100 ms | ▏ | 2022, Day 05, Part 2, Python |
86 bytes | ▌ | <100 ms | ▏ | 2022, Day 06, Part 1, Python |
88 bytes | ▌ | <100 ms | ▏ | 2022, Day 06, Part 2, Python |
220 bytes | █▏ | <100 ms | ▏ | 2022, Day 08, Part 1, Python |
224 bytes | █▏ | <100 ms | ▏ | 2022, Day 08, Part 2, Python |
235 bytes | █▏ | <100 ms | ▏ | 2022, Day 09, Part 1, Python (coordinate tuples) |
296 bytes | █▍ | <100 ms | ▏ | 2022, Day 09, Part 2, Python (coordinate tuples) |
234 bytes | █▏ | <100 ms | ▏ | 2022, Day 09, Part 1, Python (complex numbers) |
279 bytes | █▍ | ~150 ms | ▎ | 2022, Day 09, Part 2, Python (complex numbers) |
127 bytes | ▋ | <100 ms | ▏ | 2022, Day 10, Part 1, Python |
164 bytes | ▉ | <100 ms | ▏ | 2022, Day 10, Part 2, Python |
325 bytes | █▌ | <100 ms | ▏ | 2022, Day 11, Part 1, Python |
343 bytes | █▋ | ~3.5 s | █▌ | 2022, Day 11, Part 2, Python |
276 bytes | █▍ | <100 ms | ▏ | 2022, Day 13, Part 1, Python |
264 bytes | █▎ | <100 ms | ▏ | 2022, Day 13, Part 2, Python (with proper parsing and comparison) |
165 bytes | ▉ | <100 ms | ▏ | 2022, Day 13, Part 2, Python (shortcut, list-based) |
137 bytes | ▊ | <100 ms | ▏ | 2022, Day 13, Part 2, Python (shortcut, string-based) |
332 bytes | █▌ | <100 ms | ▏ | 2022, Day 14, Part 1, Python (complex numbers) |
351 bytes | █▋ | ~2 s | █▎ | 2022, Day 14, Part 2, Python (complex numbers) |
334 bytes | █▋ | <100 ms | ▏ | 2022, Day 14, Part 1, Python (coordinate tuples) |
357 bytes | █▋ | ~1.5 s | █▏ | 2022, Day 14, Part 2, Python (coordinate tuples) |
314 bytes | █▌ | <100 ms | ▏ | 2022, Day 14, Part 2, Python (sweep approach) |
200 bytes | █ | ~1 s | █ | 2022, Day 15, Part 1, Python (set of coordinates) |
379 bytes | █▊ | ~3 m | ███ | 2022, Day 15, Part 2, Python (coordinate ranges) |
340 bytes | █▋ | ~1.5 s | █▏ | 2022, Day 15, Part 2, Python (heuristics and boundary intersection) |
340 bytes | █▋ | ~2.5 s | █▍ | 2022, Day 16, Part 1, Python (DFS only) |
395 bytes | █▉ | ~1.5 m | ██▊ | 2022, Day 16, Part 2, Python (DFS only) |
507 bytes | ██▍ | ~20 s | ██▏ | 2022, Day 16, Part 2, Python (BFS+DFS) |
366 bytes | █▊ | <100 ms | ▏ | 2022, Day 17, Part 1, Python |
468 bytes | ██▏ | ~350 ms | ▋ | 2022, Day 17, Part 2, Python |
153 bytes | ▊ | <100 ms | ▏ | 2022, Day 18, Part 1, Python |
262 bytes | █▎ | ~150 ms | ▎ | 2022, Day 18, Part 2, Python |
510 bytes | ██▍ | ~7 s | █▊ | 2022, Day 19, Part 1, Python |
511 bytes | ██▍ | ~30 s | ██▎ | 2022, Day 19, Part 2, Python |
223 bytes | █▏ | ~2 s | █▎ | 2022, Day 20, Part 1, Python (nested loop) |
266 bytes | █▎ | ~20 s | ██▏ | 2022, Day 20, Part 2, Python (nested loop) |
241 bytes | █▏ | ~150 ms | ▎ | 2022, Day 20, Part 1, Python (linked list) |
277 bytes | █▍ | ~2 s | █▎ | 2022, Day 20, Part 2, Python (linked list) |
170 bytes | ▉ | <100 ms | ▏ | 2022, Day 20, Part 1, Python (order table) |
189 bytes | █ | ~1.5 s | █▏ | 2022, Day 20, Part 2, Python (order table) |
250 bytes | █▎ | <100 ms | ▏ | 2022, Day 21, Part 1, Python |
472 bytes | ██▏ | <100 ms | ▏ | 2022, Day 21, Part 2, Python (equation inversion) |
318 bytes | █▌ | <100 ms | ▏ | 2022, Day 21, Part 2, Python (linear solver) |
106 bytes | ▋ | ~500 ms | ▊ | 2022, Day 21, Part 1, Python (evil exec hackery) |
356 bytes | █▋ | <100 ms | ▏ | 2022, Day 22, Part 1, Python |
649 bytes | ██▉ | ~150 ms | ▎ | 2022, Day 22, Part 2, Python (automatic portals) |
557 bytes | ██▌ | <100 ms | ▏ | 2022, Day 22, Part 2, Python (hard-coded portals) |
424 bytes | ██ | ~150 ms | ▎ | 2022, Day 23, Part 1, Python |
333 bytes | █▋ | ~15 s | ██ | 2022, Day 23, Part 2, Python |
395 bytes | █▉ | ~500 ms | ▊ | 2022, Day 24, Part 1, Python |
449 bytes | ██▏ | ~1.5 s | █▏ | 2022, Day 24, Part 2, Python |
169 bytes | ▉ | <100 ms | ▏ | 2022, Day 25, Part 1, Python (with conversions) |
199 bytes | █ | <100 ms | ▏ | 2022, Day 25, Part 1, Python (direct addition) |
88 bytes | ▌ | <100 ms | ▏ | 2023, Day 01, Part 1, Python |
246 bytes | █▎ | <100 ms | ▏ | 2023, Day 01, Part 2, Python |
179 bytes | ▉ | <100 ms | ▏ | 2023, Day 02, Part 1, Python |
184 bytes | ▉ | <100 ms | ▏ | 2023, Day 02, Part 2, Python |
294 bytes | █▍ | <100 ms | ▏ | 2023, Day 03, Part 1, Python (complex number dictionary) |
332 bytes | █▌ | <100 ms | ▏ | 2023, Day 03, Part 2, Python (complex number dictionary) |
355 bytes | █▋ | ~800 ms | ▉ | 2023, Day 03, Part 1, Python (list of spans) |
399 bytes | █▉ | ~400 ms | ▋ | 2023, Day 03, Part 2, Python (list of spans) |
114 bytes | ▋ | <100 ms | ▏ | 2023, Day 04, Part 1, Python |
175 bytes | ▉ | <100 ms | ▏ | 2023, Day 04, Part 2, Python |
230 bytes | █▏ | <100 ms | ▏ | 2023, Day 05, Part 1, Python |
423 bytes | ██ | <100 ms | ▏ | 2023, Day 05, Part 2, Python (interval processing) |
116 bytes | ▋ | <100 ms | ▏ | 2023, Day 06, Part 1, Python |
99 bytes | ▌ | ~5 s | █▋ | 2023, Day 06, Part 2, Python (brute force) |
105 bytes | ▋ | <100 ms | ▏ | 2023, Day 06, Part 2, Python (quadratic equation solving) |
274 bytes | █▎ | <100 ms | ▏ | 2023, Day 07, Part 1, Python |
421 bytes | ██ | <100 ms | ▏ | 2023, Day 07, Part 2, Python |
202 bytes | █ | <100 ms | ▏ | 2023, Day 08, Part 1, Python |
238 bytes | █▏ | <100 ms | ▏ | 2023, Day 08, Part 2, Python |
154 bytes | ▊ | <100 ms | ▏ | 2023, Day 09, Part 1, Python |
180 bytes | ▉ | <100 ms | ▏ | 2023, Day 09, Part 2, Python |
343 bytes | █▋ | <100 ms | ▏ | 2023, Day 10, Part 1, Python |
529 bytes | ██▍ | ~300 ms | ▌ | 2023, Day 10, Part 2, Python (flood fill) |
396 bytes | █▉ | <100 ms | ▏ | 2023, Day 10, Part 2, Python (shoelace/Pick) |
310 bytes | █▌ | <100 ms | ▏ | 2023, Day 11, Part 1, Python (duplicating rows and columns) |
307 bytes | █▌ | <100 ms | ▏ | 2023, Day 11, Part 1, Python (coordinate translation) |
315 bytes | █▌ | <100 ms | ▏ | 2023, Day 11, Part 2, Python (coordinate translation) |
365 bytes | █▊ | ~20 s | ██▏ | 2023, Day 12, Part 1, Python (brute force) |
323 bytes | █▌ | ~100 ms | ▏ | 2023, Day 12, Part 1, Python (approach from part 2) |
339 bytes | █▋ | ~3 s | █▍ | 2023, Day 12, Part 2, Python |
211 bytes | █ | <100 ms | ▏ | 2023, Day 13, Part 1, Python |
260 bytes | █▎ | <100 ms | ▏ | 2023, Day 13, Part 2, Python |
184 bytes | ▉ | <100 ms | ▏ | 2023, Day 14, Part 1, Python (coordinate tuples) |
382 bytes | █▊ | ~1 s | █ | 2023, Day 14, Part 2, Python (coordinate tuples) |
185 bytes | ▉ | <100 ms | ▏ | 2023, Day 14, Part 1, Python (complex numbers) |
374 bytes | █▊ | ~1.5 s | █▏ | 2023, Day 14, Part 2, Python (complex numbers) |
201 bytes | █ | <100 ms | ▏ | 2023, Day 14, Part 1, Python (string processing) |
296 bytes | █▍ | ~500 ms | ▊ | 2023, Day 14, Part 2, Python (string processing) |
110 bytes | ▋ | <100 ms | ▏ | 2023, Day 15, Part 1, Python |
290 bytes | █▍ | <100 ms | ▏ | 2023, Day 15, Part 2, Python |
356 bytes | █▋ | <100 ms | ▏ | 2023, Day 16, Part 1, Python |
466 bytes | ██▏ | ~10 s | █▉ | 2023, Day 16, Part 2, Python |
350 bytes | █▋ | ~1.5 s | █▏ | 2023, Day 17, Part 1, Python |
367 bytes | █▊ | ~5 s | █▋ | 2023, Day 17, Part 2, Python |
340 bytes | █▋ | ~150 ms | ▎ | 2023, Day 18, Part 1, Python (BFS filling) |
699 bytes | ███▏ | ~400 ms | ▋ | 2023, Day 18, Part 2, Python (BFS filling + coordinate compression) |
176 bytes | ▉ | <100 ms | ▏ | 2023, Day 18, Part 1, Python (shoelace/Pick) |
174 bytes | ▉ | <100 ms | ▏ | 2023, Day 18, Part 2, Python (shoelace/Pick) |
434 bytes | ██ | <100 ms | ▏ | 2023, Day 19, Part 1, Python |
525 bytes | ██▍ | <100 ms | ▏ | 2023, Day 19, Part 2, Python |
476 bytes | ██▏ | ~100 ms | ▏ | 2023, Day 20, Part 1, Python |
515 bytes | ██▍ | ~350 ms | ▋ | 2023, Day 20, Part 2, Python (simulation) |
326 bytes | █▌ | <100 ms | ▏ | 2023, Day 20, Part 2, Python (input graph parsing) |
191 bytes | █ | <100 ms | ▏ | 2023, Day 21, Part 1, Python |
329 bytes | █▌ | ~20 s | ██▏ | 2023, Day 21, Part 2, Python (full simulation) |
358 bytes | █▋ | ~600 ms | ▊ | 2023, Day 21, Part 2, Python (edge only) |
498 bytes | ██▎ | ~800 ms | ▉ | 2023, Day 22, Part 1, Python |
552 bytes | ██▌ | ~1 s | █ | 2023, Day 22, Part 2, Python |
417 bytes | █▉ | ~400 ms | ▋ | 2023, Day 23, Part 1, Python (direct maze DFS) |
425 bytes | ██ | ~60 s | ██▋ | 2023, Day 23, Part 2, Python (graph DFS using sets) |
503 bytes | ██▎ | ~35 s | ██▍ | 2023, Day 23, Part 2, Python (graph DFS using bitfields) |
789 bytes | ███▌ | ~700 ms | ▉ | 2023, Day 23, Part 2, Python (generating and running C code) |
265 bytes | █▎ | ~100 ms | ▏ | 2023, Day 24, Part 1, Python |
601 bytes | ██▊ | <100 ms | ▏ | 2023, Day 24, Part 2, Python (single hailstone triple) |
674 bytes | ███ | <100 ms | ▏ | 2023, Day 24, Part 2, Python (better numerical stability) |
452 bytes | ██▏ | ~5 s | █▋ | 2023, Day 25, Part 1, Python |
Size | Day, Part, Solution | |
---|---|---|
1128 bytes | █████ | 2019, Day 17, Part 2, Python |
1106 bytes | ████▉ | 2019, Day 25, Part 1, Python |
1000 bytes | ████▌ | 2021, Day 23, Part 2, Python |
982 bytes | ████▍ | 2021, Day 23, Part 1, Python |
879 bytes | ███▉ | 2020, Day 20, Part 2, Python |
842 bytes | ███▊ | 2019, Day 18, Part 2, Python |
812 bytes | ███▋ | 2018, Day 16, Part 2, Python |
789 bytes | ███▌ | 2023, Day 23, Part 2, Python (generating and running C code) |
773 bytes | ███▌ | 2019, Day 15, Part 2, Python |
738 bytes | ███▍ | 2019, Day 23, Part 2, Python |
704 bytes | ███▏ | 2018, Day 19, Part 2, Python (host computation) |
701 bytes | ███▏ | 2016, Day 11, Part 2, Python (with canonicalization) |
701 bytes | ███▏ | 2019, Day 10, Part 2, Python (with visualization) |
699 bytes | ███▏ | 2023, Day 18, Part 2, Python (BFS filling + coordinate compression) |
690 bytes | ███▏ | 2019, Day 23, Part 1, Python (machines as classes) |
674 bytes | ███ | 2023, Day 24, Part 2, Python (better numerical stability) |
668 bytes | ███ | 2019, Day 23, Part 1, Python (machines as dictionaries) |
667 bytes | ███ | 2019, Day 20, Part 2, Python |
666 bytes | ███ | 2019, Day 18, Part 1, Python |
665 bytes | ███ | 2019, Day 15, Part 1, Python |
661 bytes | ███ | 2018, Day 19, Part 1, Python (plain simulation) |
649 bytes | ██▉ | 2022, Day 22, Part 2, Python (automatic portals) |
640 bytes | ██▉ | 2016, Day 11, Part 1, Python (without canonicalization) |
631 bytes | ██▉ | 2018, Day 16, Part 1, Python |
622 bytes | ██▉ | 2021, Day 18, Part 2, Python |
614 bytes | ██▊ | 2018, Day 22, Part 2, Python (simple) |
610 bytes | ██▊ | 2021, Day 19, Part 2, Python |
603 bytes | ██▊ | 2019, Day 07, Part 2, Python |
601 bytes | ██▊ | 2018, Day 22, Part 2, Python (optimized) |
601 bytes | ██▊ | 2023, Day 24, Part 2, Python (single hailstone triple) |
586 bytes | ██▋ | 2017, Day 14, Part 2, Python |
575 bytes | ██▋ | 2019, Day 10, Part 2, Python |
569 bytes | ██▋ | 2018, Day 13, Part 2, Python |
562 bytes | ██▌ | 2018, Day 18, Part 2, Python |
561 bytes | ██▌ | 2019, Day 11, Part 2, Python |
561 bytes | ██▌ | 2019, Day 19, Part 2, Python (fast search with slope estimation) |
560 bytes | ██▌ | 2021, Day 18, Part 1, Python |
557 bytes | ██▌ | 2022, Day 22, Part 2, Python (hard-coded portals) |
552 bytes | ██▌ | 2023, Day 22, Part 2, Python |
551 bytes | ██▌ | 2019, Day 24, Part 2, Python |
548 bytes | ██▌ | 2017, Day 18, Part 2, Python |
547 bytes | ██▌ | 2015, Day 22, Part 2, Python |
546 bytes | ██▌ | 2019, Day 17, Part 1, Python |
540 bytes | ██▌ | 2019, Day 21, Part 2, Python |
532 bytes | ██▍ | 2021, Day 19, Part 1, Python |
530 bytes | ██▍ | 2015, Day 22, Part 1, Python |
529 bytes | ██▍ | 2023, Day 10, Part 2, Python (flood fill) |
528 bytes | ██▍ | 2020, Day 16, Part 2, Python |
525 bytes | ██▍ | 2023, Day 19, Part 2, Python |
519 bytes | ██▍ | 2019, Day 19, Part 2, Python (edge walking) |
517 bytes | ██▍ | 2019, Day 13, Part 2, Python |
515 bytes | ██▍ | 2023, Day 20, Part 2, Python (simulation) |
511 bytes | ██▍ | 2022, Day 19, Part 2, Python |
510 bytes | ██▍ | 2022, Day 19, Part 1, Python |
507 bytes | ██▍ | 2022, Day 16, Part 2, Python (BFS+DFS) |
504 bytes | ██▎ | 2020, Day 19, Part 2, Python |
503 bytes | ██▎ | 2023, Day 23, Part 2, Python (graph DFS using bitfields) |
499 bytes | ██▎ | 2019, Day 11, Part 1, Python |
498 bytes | ██▎ | 2023, Day 22, Part 1, Python |
494 bytes | ██▎ | 2019, Day 19, Part 1, Python (brute force) |
488 bytes | ██▎ | 2019, Day 21, Part 1, Python |
480 bytes | ██▎ | 2018, Day 13, Part 1, Python |
476 bytes | ██▏ | 2023, Day 20, Part 1, Python |
473 bytes | ██▏ | 2019, Day 12, Part 2, Python (derived from part 1 solution) |
472 bytes | ██▏ | 2022, Day 21, Part 2, Python (equation inversion) |
468 bytes | ██▏ | 2022, Day 17, Part 2, Python |
466 bytes | ██▏ | 2023, Day 16, Part 2, Python |
462 bytes | ██▏ | 2019, Day 07, Part 1, Python |
457 bytes | ██▏ | 2018, Day 18, Part 1, Python |
455 bytes | ██▏ | 2021, Day 08, Part 2, Python |
452 bytes | ██▏ | 2023, Day 25, Part 1, Python |
449 bytes | ██▏ | 2022, Day 24, Part 2, Python |
446 bytes | ██ | 2020, Day 04, Part 2, Python |
442 bytes | ██ | 2018, Day 11, Part 2, C (optimized pre-summed matrix) |
438 bytes | ██ | 2021, Day 16, Part 2, Python |
434 bytes | ██ | 2023, Day 19, Part 1, Python |
432 bytes | ██ | 2019, Day 13, Part 1, Python |
432 bytes | ██ | 2019, Day 20, Part 1, Python |
431 bytes | ██ | 2020, Day 19, Part 1, Python |
427 bytes | ██ | 2018, Day 09, Part 2, C (CDLL) |
425 bytes | ██ | 2016, Day 24, Part 2, Python |
425 bytes | ██ | 2021, Day 22, Part 2, Python (naive approach with coordinate compression) |
425 bytes | ██ | 2023, Day 23, Part 2, Python (graph DFS using sets) |
424 bytes | ██ | 2022, Day 23, Part 1, Python |
423 bytes | ██ | 2023, Day 05, Part 2, Python (interval processing) |
422 bytes | ██ | 2021, Day 15, Part 2, Python (Dijkstra) |
421 bytes | ██ | 2023, Day 07, Part 2, Python |
419 bytes | █▉ | 2016, Day 24, Part 1, Python |
418 bytes | █▉ | 2019, Day 09, Part 1, Python |
418 bytes | █▉ | 2019, Day 09, Part 2, Python |
417 bytes | █▉ | 2016, Day 21, Part 2, Python |
417 bytes | █▉ | 2023, Day 23, Part 1, Python (direct maze DFS) |
410 bytes | █▉ | 2016, Day 21, Part 1, Python |
408 bytes | █▉ | 2018, Day 07, Part 2, Python |
402 bytes | █▉ | 2020, Day 24, Part 2, Python |
402 bytes | █▉ | 2021, Day 22, Part 2, Python (cube-splitting approach) |
399 bytes | █▉ | 2023, Day 03, Part 2, Python (list of spans) |
396 bytes | █▉ | 2023, Day 10, Part 2, Python (shoelace/Pick) |
395 bytes | █▉ | 2022, Day 16, Part 2, Python (DFS only) |
395 bytes | █▉ | 2022, Day 24, Part 1, Python |
392 bytes | █▉ | 2020, Day 18, Part 2, Python (manual parsing) |
387 bytes | █▊ | 2019, Day 22, Part 2, Python (reverse construction) |
387 bytes | █▊ | 2020, Day 23, Part 2, C |
383 bytes | █▊ | 2017, Day 07, Part 2, Python |
382 bytes | █▊ | 2023, Day 14, Part 2, Python (coordinate tuples) |
381 bytes | █▊ | 2018, Day 11, Part 2, C (SAT) |
379 bytes | █▊ | 2022, Day 15, Part 2, Python (coordinate ranges) |
377 bytes | █▊ | 2019, Day 14, Part 2, Python |
376 bytes | █▊ | 2021, Day 15, Part 2, Python (BFS) |
375 bytes | █▊ | 2021, Day 14, Part 2, Python |
375 bytes | █▊ | 2021, Day 20, Part 2, Python |
374 bytes | █▊ | 2023, Day 14, Part 2, Python (complex numbers) |
373 bytes | █▊ | 2020, Day 11, Part 2, Python |
371 bytes | █▊ | 2019, Day 10, Part 1, Python |
368 bytes | █▊ | 2019, Day 12, Part 2, Python (full axis separation) |
367 bytes | █▊ | 2016, Day 23, Part 1, Python |
367 bytes | █▊ | 2023, Day 17, Part 2, Python |
366 bytes | █▊ | 2022, Day 17, Part 1, Python |
365 bytes | █▊ | 2021, Day 20, Part 1, Python |
365 bytes | █▊ | 2023, Day 12, Part 1, Python (brute force) |
361 bytes | █▋ | 2018, Day 11, Part 2, Python (optimized pre-summed matrix) |
361 bytes | █▋ | 2021, Day 25, Part 1, Python (2D array) |
359 bytes | █▋ | 2018, Day 04, Part 1, Python |
359 bytes | █▋ | 2018, Day 04, Part 2, Python |
358 bytes | █▋ | 2020, Day 22, Part 2, Python |
358 bytes | █▋ | 2023, Day 21, Part 2, Python (edge only) |
357 bytes | █▋ | 2018, Day 06, Part 1, Python |
357 bytes | █▋ | 2020, Day 17, Part 2, Python |
357 bytes | █▋ | 2022, Day 14, Part 2, Python (coordinate tuples) |
356 bytes | █▋ | 2018, Day 23, Part 2, Python |
356 bytes | █▋ | 2022, Day 22, Part 1, Python |
356 bytes | █▋ | 2023, Day 16, Part 1, Python |
355 bytes | █▋ | 2017, Day 18, Part 1, Python |
355 bytes | █▋ | 2023, Day 03, Part 1, Python (list of spans) |
352 bytes | █▋ | 2021, Day 04, Part 2, Python |
351 bytes | █▋ | 2022, Day 14, Part 2, Python (complex numbers) |
350 bytes | █▋ | 2015, Day 18, Part 2, Python |
350 bytes | █▋ | 2023, Day 17, Part 1, Python |
347 bytes | █▋ | 2020, Day 11, Part 1, Python (with 2D arrays) |
347 bytes | █▋ | 2020, Day 20, Part 1, Python |
346 bytes | █▋ | 2021, Day 21, Part 2, Python |
345 bytes | █▋ | 2019, Day 12, Part 1, Python |
343 bytes | █▋ | 2022, Day 11, Part 2, Python |
343 bytes | █▋ | 2023, Day 10, Part 1, Python |
342 bytes | █▋ | 2018, Day 12, Part 2, Python |
342 bytes | █▋ | 2019, Day 05, Part 2, Python |
342 bytes | █▋ | 2021, Day 04, Part 1, Python |
341 bytes | █▋ | 2017, Day 14, Part 1, Python |
340 bytes | █▋ | 2022, Day 15, Part 2, Python (heuristics and boundary intersection) |
340 bytes | █▋ | 2022, Day 16, Part 1, Python (DFS only) |
340 bytes | █▋ | 2023, Day 18, Part 1, Python (BFS filling) |
339 bytes | █▋ | 2023, Day 12, Part 2, Python |
337 bytes | █▋ | 2019, Day 22, Part 2, Python (forward construction) |
337 bytes | █▋ | 2021, Day 25, Part 1, Python (sets) |
336 bytes | █▋ | 2016, Day 10, Part 2, Python |
335 bytes | █▋ | 2015, Day 21, Part 1, Python |
334 bytes | █▋ | 2015, Day 21, Part 2, Python |
334 bytes | █▋ | 2022, Day 14, Part 1, Python (coordinate tuples) |
333 bytes | █▋ | 2022, Day 23, Part 2, Python |
332 bytes | █▌ | 2022, Day 14, Part 1, Python (complex numbers) |
332 bytes | █▌ | 2023, Day 03, Part 2, Python (complex number dictionary) |
329 bytes | █▌ | 2023, Day 21, Part 2, Python (full simulation) |
328 bytes | █▌ | 2020, Day 17, Part 1, Python |
328 bytes | █▌ | 2021, Day 09, Part 2, Python (using low point seeds) |
327 bytes | █▌ | 2015, Day 16, Part 2, Python |
326 bytes | █▌ | 2016, Day 16, Part 2, C |
326 bytes | █▌ | 2023, Day 20, Part 2, Python (input graph parsing) |
325 bytes | █▌ | 2022, Day 11, Part 1, Python |
323 bytes | █▌ | 2023, Day 12, Part 1, Python (approach from part 2) |
321 bytes | █▌ | 2017, Day 23, Part 1, Python |
321 bytes | █▌ | 2021, Day 11, Part 1, Python |
321 bytes | █▌ | 2021, Day 11, Part 2, Python |
320 bytes | █▌ | 2016, Day 10, Part 1, Python |
318 bytes | █▌ | 2022, Day 21, Part 2, Python (linear solver) |
315 bytes | █▌ | 2023, Day 11, Part 2, Python (coordinate translation) |
314 bytes | █▌ | 2015, Day 11, Part 2, Python |
314 bytes | █▌ | 2018, Day 14, Part 2, C |
314 bytes | █▌ | 2019, Day 14, Part 1, Python |
314 bytes | █▌ | 2022, Day 14, Part 2, Python (sweep approach) |
311 bytes | █▌ | 2021, Day 09, Part 2, Python (using arbitrary seeds) |
310 bytes | █▌ | 2023, Day 11, Part 1, Python (duplicating rows and columns) |
309 bytes | █▌ | 2017, Day 16, Part 2, Python |
307 bytes | █▌ | 2023, Day 11, Part 1, Python (coordinate translation) |
305 bytes | █▌ | 2018, Day 11, Part 2, Python (pre-summed matrix) |
303 bytes | █▍ | 2017, Day 08, Part 2, Python |
303 bytes | █▍ | 2018, Day 11, Part 2, Python (SAT) |
299 bytes | █▍ | 2017, Day 17, Part 2, C (full simulation with circular list) |
298 bytes | █▍ | 2015, Day 13, Part 2, Python |
297 bytes | █▍ | 2021, Day 16, Part 1, Python |
296 bytes | █▍ | 2022, Day 09, Part 2, Python (coordinate tuples) |
296 bytes | █▍ | 2023, Day 14, Part 2, Python (string processing) |
295 bytes | █▍ | 2021, Day 05, Part 1, Python (coordinate list) |
294 bytes | █▍ | 2023, Day 03, Part 1, Python (complex number dictionary) |
292 bytes | █▍ | 2015, Day 18, Part 1, Python |
292 bytes | █▍ | 2017, Day 25, Part 1, Python |
292 bytes | █▍ | 2020, Day 14, Part 2, Python |
291 bytes | █▍ | 2017, Day 08, Part 1, Python |
291 bytes | █▍ | 2018, Day 03, Part 2, Python |
290 bytes | █▍ | 2017, Day 20, Part 2, Python |
290 bytes | █▍ | 2023, Day 15, Part 2, Python |
289 bytes | █▍ | 2018, Day 12, Part 1, Python |
287 bytes | █▍ | 2015, Day 13, Part 1, Python |
286 bytes | █▍ | 2016, Day 17, Part 2, Python |
286 bytes | █▍ | 2021, Day 13, Part 2, Python |
282 bytes | █▍ | 2022, Day 05, Part 1, Python |
281 bytes | █▍ | 2015, Day 19, Part 2, Python (greedy DFS) |
281 bytes | █▍ | 2021, Day 24, Part 1, Python |
279 bytes | █▍ | 2018, Day 22, Part 1, Python |
279 bytes | █▍ | 2022, Day 09, Part 2, Python (complex numbers) |
278 bytes | █▍ | 2021, Day 24, Part 2, Python |
277 bytes | █▍ | 2022, Day 20, Part 2, Python (linked list) |
276 bytes | █▍ | 2015, Day 11, Part 1, Python |
276 bytes | █▍ | 2015, Day 23, Part 1, Python |
276 bytes | █▍ | 2015, Day 23, Part 2, Python |
276 bytes | █▍ | 2016, Day 19, Part 2, C |
276 bytes | █▍ | 2018, Day 09, Part 2, Python (CDLL) |
276 bytes | █▍ | 2022, Day 05, Part 2, Python |
276 bytes | █▍ | 2022, Day 13, Part 1, Python |
275 bytes | █▍ | 2015, Day 19, Part 1, Python |
275 bytes | █▍ | 2021, Day 05, Part 1, Python (using part 2 approach) |
274 bytes | █▎ | 2023, Day 07, Part 1, Python |
273 bytes | █▎ | 2016, Day 17, Part 1, Python |
271 bytes | █▎ | 2016, Day 14, Part 2, Python |
271 bytes | █▎ | 2018, Day 25, Part 1, Python |
271 bytes | █▎ | 2019, Day 05, Part 1, Python |
269 bytes | █▎ | 2019, Day 24, Part 1, Python |
269 bytes | █▎ | 2020, Day 11, Part 1, Python (with dictionaries) |
266 bytes | █▎ | 2022, Day 20, Part 2, Python (nested loop) |
265 bytes | █▎ | 2023, Day 24, Part 1, Python |
264 bytes | █▎ | 2015, Day 16, Part 1, Python |
264 bytes | █▎ | 2022, Day 13, Part 2, Python (with proper parsing and comparison) |
263 bytes | █▎ | 2015, Day 15, Part 2, Python |
263 bytes | █▎ | 2020, Day 18, Part 1, Python |
262 bytes | █▎ | 2017, Day 19, Part 1, Python |
262 bytes | █▎ | 2022, Day 18, Part 2, Python |
260 bytes | █▎ | 2018, Day 05, Part 2, Python (single-pass) |
260 bytes | █▎ | 2018, Day 11, Part 2, Python (naive) |
260 bytes | █▎ | 2023, Day 13, Part 2, Python |
259 bytes | █▎ | 2017, Day 24, Part 2, Python |
258 bytes | █▎ | 2020, Day 08, Part 2, Python |
258 bytes | █▎ | 2021, Day 12, Part 2, Python |
255 bytes | █▎ | 2018, Day 06, Part 2, Python |
254 bytes | █▎ | 2021, Day 22, Part 1, Python |
253 bytes | █▎ | 2015, Day 15, Part 1, Python |
253 bytes | █▎ | 2016, Day 13, Part 2, Python |
253 bytes | █▎ | 2017, Day 10, Part 2, Python |
253 bytes | █▎ | 2021, Day 05, Part 2, Python |
251 bytes | █▎ | 2021, Day 10, Part 2, Python |
250 bytes | █▎ | 2022, Day 21, Part 1, Python |
246 bytes | █▎ | 2018, Day 07, Part 1, Python |
246 bytes | █▎ | 2023, Day 01, Part 2, Python |
244 bytes | █▏ | 2020, Day 23, Part 2, Python |
242 bytes | █▏ | 2017, Day 19, Part 2, Python |
241 bytes | █▏ | 2022, Day 20, Part 1, Python (linked list) |
240 bytes | █▏ | 2015, Day 19, Part 2, Python (dumb DFS) |
238 bytes | █▏ | 2023, Day 08, Part 2, Python |
237 bytes | █▏ | 2021, Day 13, Part 1, Python |
236 bytes | █▏ | 2016, Day 13, Part 1, Python |
236 bytes | █▏ | 2020, Day 18, Part 2, Python (eval hack) |
235 bytes | █▏ | 2017, Day 06, Part 2, Python |
235 bytes | █▏ | 2022, Day 09, Part 1, Python (coordinate tuples) |
234 bytes | █▏ | 2017, Day 16, Part 1, Python |
234 bytes | █▏ | 2022, Day 09, Part 1, Python (complex numbers) |
233 bytes | █▏ | 2021, Day 14, Part 1, Python |
232 bytes | █▏ | 2015, Day 24, Part 1, Python (brute-force) |
232 bytes | █▏ | 2018, Day 08, Part 2, Python |
232 bytes | █▏ | 2021, Day 17, Part 1, Python |
230 bytes | █▏ | 2023, Day 05, Part 1, Python |
229 bytes | █▏ | 2015, Day 06, Part 2, Python |
229 bytes | █▏ | 2017, Day 22, Part 2, Python |
227 bytes | █▏ | 2020, Day 09, Part 2, Python |
226 bytes | █▏ | 2015, Day 06, Part 1, Python |
224 bytes | █▏ | 2022, Day 08, Part 2, Python |
223 bytes | █▏ | 2020, Day 15, Part 2, C |
223 bytes | █▏ | 2022, Day 20, Part 1, Python (nested loop) |
220 bytes | █▏ | 2017, Day 22, Part 1, Python |
220 bytes | █▏ | 2021, Day 12, Part 1, Python |
220 bytes | █▏ | 2022, Day 08, Part 1, Python |
217 bytes | █▏ | 2020, Day 22, Part 1, Python |
216 bytes | █ | 2021, Day 17, Part 2, Python |
214 bytes | █ | 2019, Day 03, Part 2, Python |
214 bytes | █ | 2019, Day 16, Part 1, Python (computing and "caching" the transform matrix first) |
212 bytes | █ | 2016, Day 01, Part 2, Python |
212 bytes | █ | 2020, Day 07, Part 2, Python |
211 bytes | █ | 2023, Day 13, Part 1, Python |
210 bytes | █ | 2017, Day 20, Part 1, Python |
210 bytes | █ | 2017, Day 24, Part 1, Python |
210 bytes | █ | 2019, Day 03, Part 1, Python |
208 bytes | █ | 2016, Day 07, Part 2, Python |
208 bytes | █ | 2019, Day 22, Part 1, Python (full deck simulation) |
208 bytes | █ | 2021, Day 10, Part 1, Python |
204 bytes | █ | 2018, Day 09, Part 1, Python (array) |
204 bytes | █ | 2020, Day 16, Part 1, Python |
203 bytes | █ | 2015, Day 14, Part 2, Python |
202 bytes | █ | 2017, Day 03, Part 2, Python |
202 bytes | █ | 2020, Day 07, Part 1, Python |
202 bytes | █ | 2023, Day 08, Part 1, Python |
201 bytes | █ | 2018, Day 11, Part 1, Python |
201 bytes | █ | 2023, Day 14, Part 1, Python (string processing) |
200 bytes | █ | 2019, Day 08, Part 2, Python |
200 bytes | █ | 2022, Day 15, Part 1, Python (set of coordinates) |
199 bytes | █ | 2017, Day 06, Part 1, Python |
199 bytes | █ | 2021, Day 15, Part 1, Python |
199 bytes | █ | 2022, Day 25, Part 1, Python (direct addition) |
198 bytes | █ | 2016, Day 14, Part 1, Python |
197 bytes | █ | 2017, Day 12, Part 2, Python |
197 bytes | █ | 2018, Day 03, Part 1, Python |
197 bytes | █ | 2019, Day 02, Part 2, Python |
197 bytes | █ | 2020, Day 23, Part 1, Python |
195 bytes | █ | 2017, Day 15, Part 2, Python |
195 bytes | █ | 2018, Day 21, Part 2, Python (host computation) |
194 bytes | █ | 2017, Day 11, Part 2, Python |
194 bytes | █ | 2021, Day 21, Part 1, Python |
191 bytes | █ | 2020, Day 12, Part 2, Python |
191 bytes | █ | 2023, Day 21, Part 1, Python |
189 bytes | █ | 2022, Day 20, Part 2, Python (order table) |
186 bytes | ▉ | 2015, Day 09, Part 1, Python |
186 bytes | ▉ | 2015, Day 09, Part 2, Python |
186 bytes | ▉ | 2015, Day 12, Part 2, Python |
186 bytes | ▉ | 2016, Day 09, Part 2, Python |
186 bytes | ▉ | 2020, Day 24, Part 1, Python |
185 bytes | ▉ | 2019, Day 16, Part 1, Python (computing the transform matrix on-the-fly) |
185 bytes | ▉ | 2021, Day 09, Part 1, Python |
185 bytes | ▉ | 2023, Day 14, Part 1, Python (complex numbers) |
184 bytes | ▉ | 2023, Day 02, Part 2, Python |
184 bytes | ▉ | 2023, Day 14, Part 1, Python (coordinate tuples) |
181 bytes | ▉ | 2016, Day 22, Part 2, Python |
181 bytes | ▉ | 2018, Day 05, Part 1, Python (multi-pass) |
181 bytes | ▉ | 2021, Day 03, Part 2, Python |
181 bytes | ▉ | 2021, Day 25, Part 1, Python (strings) |
180 bytes | ▉ | 2016, Day 16, Part 2, Python |
180 bytes | ▉ | 2023, Day 09, Part 2, Python |
179 bytes | ▉ | 2016, Day 20, Part 2, Python |
179 bytes | ▉ | 2019, Day 16, Part 2, Python |
179 bytes | ▉ | 2020, Day 14, Part 1, Python |
179 bytes | ▉ | 2023, Day 02, Part 1, Python |
178 bytes | ▉ | 2016, Day 04, Part 1, Python |
177 bytes | ▉ | 2016, Day 02, Part 2, Python |
177 bytes | ▉ | 2018, Day 14, Part 2, Python |
177 bytes | ▉ | 2020, Day 12, Part 1, Python |
176 bytes | ▉ | 2023, Day 18, Part 1, Python (shoelace/Pick) |
175 bytes | ▉ | 2023, Day 04, Part 2, Python |
174 bytes | ▉ | 2023, Day 18, Part 2, Python (shoelace/Pick) |
173 bytes | ▉ | 2016, Day 16, Part 1, Python |
172 bytes | ▉ | 2016, Day 05, Part 2, Python |
170 bytes | ▉ | 2017, Day 10, Part 1, Python |
170 bytes | ▉ | 2022, Day 20, Part 1, Python (order table) |
169 bytes | ▉ | 2022, Day 25, Part 1, Python (with conversions) |
167 bytes | ▉ | 2017, Day 11, Part 1, Python |
167 bytes | ▉ | 2017, Day 13, Part 2, Python |
166 bytes | ▉ | 2015, Day 17, Part 2, Python |
166 bytes | ▉ | 2016, Day 19, Part 2, Python |
166 bytes | ▉ | 2019, Day 08, Part 1, Python |
165 bytes | ▉ | 2019, Day 06, Part 2, Python |
165 bytes | ▉ | 2022, Day 13, Part 2, Python (shortcut, list-based) |
164 bytes | ▉ | 2022, Day 10, Part 2, Python |
163 bytes | ▉ | 2018, Day 08, Part 1, Python |
161 bytes | ▉ | 2016, Day 02, Part 1, Python |
160 bytes | ▉ | 2020, Day 04, Part 1, Python |
159 bytes | ▊ | 2017, Day 12, Part 1, Python |
158 bytes | ▊ | 2018, Day 14, Part 1, Python |
158 bytes | ▊ | 2020, Day 03, Part 2, Python |
157 bytes | ▊ | 2020, Day 08, Part 1, Python |
155 bytes | ▊ | 2016, Day 09, Part 1, Python |
154 bytes | ▊ | 2017, Day 15, Part 1, Python |
154 bytes | ▊ | 2023, Day 09, Part 1, Python |
153 bytes | ▊ | 2022, Day 18, Part 1, Python |
151 bytes | ▊ | 2016, Day 04, Part 2, Python |
151 bytes | ▊ | 2017, Day 02, Part 2, Python |
150 bytes | ▊ | 2016, Day 18, Part 2, Python |
150 bytes | ▊ | 2018, Day 23, Part 1, Python |
149 bytes | ▊ | 2017, Day 13, Part 1, Python |
149 bytes | ▊ | 2017, Day 23, Part 2, Python |
149 bytes | ▊ | 2019, Day 02, Part 1, Python |
148 bytes | ▊ | 2015, Day 20, Part 2, Python |
147 bytes | ▊ | 2016, Day 07, Part 1, Python |
147 bytes | ▊ | 2016, Day 15, Part 2, Python |
146 bytes | ▊ | 2016, Day 18, Part 1, Python |
146 bytes | ▊ | 2019, Day 22, Part 1, Python (single card tracing) |
145 bytes | ▊ | 2015, Day 25, Part 1, Python |
144 bytes | ▊ | 2020, Day 02, Part 2, Python |
144 bytes | ▊ | 2020, Day 09, Part 1, Python |
143 bytes | ▊ | 2016, Day 03, Part 2, Python |
142 bytes | ▊ | 2015, Day 05, Part 1, Python |
142 bytes | ▊ | 2016, Day 01, Part 1, Python |
142 bytes | ▊ | 2016, Day 22, Part 1, Python |
142 bytes | ▊ | 2020, Day 05, Part 2, Python |
141 bytes | ▊ | 2015, Day 20, Part 1, Python |
138 bytes | ▊ | 2021, Day 06, Part 2, Python |
137 bytes | ▊ | 2020, Day 02, Part 1, Python |
137 bytes | ▊ | 2020, Day 10, Part 2, Python |
137 bytes | ▊ | 2020, Day 13, Part 2, Python |
137 bytes | ▊ | 2021, Day 06, Part 1, Python |
137 bytes | ▊ | 2022, Day 13, Part 2, Python (shortcut, string-based) |
136 bytes | ▊ | 2017, Day 17, Part 2, Python (full simulation with circular list) |
135 bytes | ▊ | 2018, Day 02, Part 2, Python |
133 bytes | ▊ | 2015, Day 10, Part 2, Python |
133 bytes | ▊ | 2020, Day 06, Part 2, Python |
132 bytes | ▊ | 2017, Day 04, Part 2, Python |
131 bytes | ▊ | 2016, Day 19, Part 1, Python |
130 bytes | ▋ | 2018, Day 21, Part 1, Python (host computation) |
129 bytes | ▋ | 2018, Day 02, Part 1, Python |
128 bytes | ▋ | 2015, Day 03, Part 2, Python |
128 bytes | ▋ | 2017, Day 07, Part 1, Python |
128 bytes | ▋ | 2021, Day 07, Part 2, Python |
128 bytes | ▋ | 2022, Day 03, Part 2, Python |
127 bytes | ▋ | 2016, Day 20, Part 1, Python |
127 bytes | ▋ | 2022, Day 10, Part 1, Python |
124 bytes | ▋ | 2016, Day 15, Part 1, Python |
123 bytes | ▋ | 2016, Day 05, Part 1, Python |
122 bytes | ▋ | 2015, Day 14, Part 1, Python |
122 bytes | ▋ | 2019, Day 04, Part 2, Python |
122 bytes | ▋ | 2022, Day 03, Part 1, Python |
121 bytes | ▋ | 2015, Day 10, Part 1, Python |
121 bytes | ▋ | 2019, Day 04, Part 1, Python |
120 bytes | ▋ | 2021, Day 03, Part 1, Python |
118 bytes | ▋ | 2018, Day 01, Part 2, Python |
118 bytes | ▋ | 2020, Day 13, Part 1, Python |
118 bytes | ▋ | 2021, Day 08, Part 1, Python |
118 bytes | ▋ | 2022, Day 04, Part 1, Python |
117 bytes | ▋ | 2015, Day 05, Part 2, Python |
116 bytes | ▋ | 2020, Day 15, Part 2, Python |
116 bytes | ▋ | 2020, Day 25, Part 1, Python |
116 bytes | ▋ | 2023, Day 06, Part 1, Python |
115 bytes | ▋ | 2017, Day 04, Part 1, Python |
114 bytes | ▋ | 2016, Day 25, Part 1, Python |
114 bytes | ▋ | 2021, Day 02, Part 2, Python |
114 bytes | ▋ | 2023, Day 04, Part 1, Python |
113 bytes | ▋ | 2019, Day 06, Part 1, Python |
112 bytes | ▋ | 2015, Day 17, Part 1, Python |
112 bytes | ▋ | 2017, Day 05, Part 2, Python |
112 bytes | ▋ | 2020, Day 15, Part 1, Python |
110 bytes | ▋ | 2023, Day 15, Part 1, Python |
109 bytes | ▋ | 2015, Day 03, Part 1, Python |
106 bytes | ▋ | 2021, Day 02, Part 1, Python (using complex numbers) |
106 bytes | ▋ | 2022, Day 21, Part 1, Python (evil exec hackery) |
105 bytes | ▋ | 2021, Day 02, Part 1, Python (using separate components) |
105 bytes | ▋ | 2023, Day 06, Part 2, Python (quadratic equation solving) |
104 bytes | ▋ | 2020, Day 10, Part 1, Python |
104 bytes | ▋ | 2021, Day 07, Part 1, Python |
103 bytes | ▋ | 2022, Day 04, Part 2, Python |
102 bytes | ▋ | 2017, Day 05, Part 1, Python |
101 bytes | ▌ | 2022, Day 02, Part 1, Python |
100 bytes | ▌ | 2016, Day 23, Part 2, Python |
100 bytes | ▌ | 2017, Day 01, Part 2, Python |
100 bytes | ▌ | 2020, Day 03, Part 1, Python |
99 bytes | ▌ | 2015, Day 02, Part 1, Python |
99 bytes | ▌ | 2020, Day 05, Part 1, Python |
99 bytes | ▌ | 2023, Day 06, Part 2, Python (brute force) |
98 bytes | ▌ | 2020, Day 01, Part 2, Python |
95 bytes | ▌ | 2015, Day 02, Part 2, Python |
95 bytes | ▌ | 2022, Day 01, Part 2, Python |
93 bytes | ▌ | 2017, Day 01, Part 1, Python |
92 bytes | ▌ | 2015, Day 01, Part 2, Python |
92 bytes | ▌ | 2016, Day 06, Part 1, Python |
92 bytes | ▌ | 2016, Day 06, Part 2, Python |
92 bytes | ▌ | 2021, Day 01, Part 2, Python |
91 bytes | ▌ | 2022, Day 02, Part 2, Python |
90 bytes | ▌ | 2017, Day 17, Part 2, Python (tracking) |
89 bytes | ▌ | 2015, Day 04, Part 1, Python |
89 bytes | ▌ | 2015, Day 04, Part 2, Python |
88 bytes | ▌ | 2022, Day 06, Part 2, Python |
88 bytes | ▌ | 2023, Day 01, Part 1, Python |
87 bytes | ▌ | 2017, Day 02, Part 1, Python |
86 bytes | ▌ | 2022, Day 06, Part 1, Python |
84 bytes | ▌ | 2016, Day 03, Part 1, Python |
82 bytes | ▌ | 2022, Day 01, Part 1, Python |
80 bytes | ▌ | 2017, Day 17, Part 1, Python (full simulation with arrays) |
80 bytes | ▌ | 2019, Day 01, Part 2, Python |
79 bytes | ▌ | 2020, Day 01, Part 1, Python |
77 bytes | ▌ | 2020, Day 06, Part 1, Python |
75 bytes | ▌ | 2015, Day 12, Part 1, Python |
68 bytes | ▍ | 2017, Day 03, Part 1, Python |
68 bytes | ▍ | 2021, Day 01, Part 1, Python |
66 bytes | ▍ | 2015, Day 08, Part 2, Python |
65 bytes | ▍ | 2015, Day 08, Part 1, Python |
59 bytes | ▍ | 2015, Day 01, Part 1, Python |
48 bytes | ▍ | 2019, Day 01, Part 1, Python |
38 bytes | ▎ | 2018, Day 01, Part 1, Python |
Runtime | Day, Part, Solution | |
---|---|---|
~10 h | █████ | 2017, Day 17, Part 2, Python (full simulation with circular list) |
~40 m | ████ | 2021, Day 22, Part 2, Python (naive approach with coordinate compression) |
~20 m | ███▊ | 2021, Day 25, Part 1, Python (sets) |
~15 m | ███▋ | 2015, Day 24, Part 1, Python (brute-force) |
~10 m | ███▌ | 2018, Day 11, Part 2, Python (naive) |
~8 m | ███▍ | 2017, Day 17, Part 2, C (full simulation with circular list) |
~3 m | ███ | 2022, Day 15, Part 2, Python (coordinate ranges) |
~1.5 m | ██▊ | 2022, Day 16, Part 2, Python (DFS only) |
~60 s | ██▋ | 2023, Day 23, Part 2, Python (graph DFS using sets) |
~40 s | ██▍ | 2016, Day 05, Part 2, Python |
~35 s | ██▍ | 2023, Day 23, Part 2, Python (graph DFS using bitfields) |
~30 s | ██▎ | 2016, Day 14, Part 2, Python |
~30 s | ██▎ | 2018, Day 09, Part 2, Python (CDLL) |
~30 s | ██▎ | 2019, Day 10, Part 2, Python (with visualization) |
~30 s | ██▎ | 2021, Day 19, Part 1, Python |
~30 s | ██▎ | 2021, Day 19, Part 2, Python |
~30 s | ██▎ | 2022, Day 19, Part 2, Python |
~25 s | ██▎ | 2018, Day 11, Part 2, Python (pre-summed matrix) |
~20 s | ██▏ | 2018, Day 14, Part 2, Python |
~20 s | ██▏ | 2022, Day 16, Part 2, Python (BFS+DFS) |
~20 s | ██▏ | 2022, Day 20, Part 2, Python (nested loop) |
~20 s | ██▏ | 2023, Day 12, Part 1, Python (brute force) |
~20 s | ██▏ | 2023, Day 21, Part 2, Python (full simulation) |
~15 s | ██ | 2016, Day 11, Part 1, Python (without canonicalization) |
~15 s | ██ | 2020, Day 15, Part 2, Python |
~15 s | ██ | 2020, Day 23, Part 2, Python |
~15 s | ██ | 2021, Day 22, Part 2, Python (cube-splitting approach) |
~15 s | ██ | 2022, Day 23, Part 2, Python |
~12 s | ██ | 2017, Day 17, Part 2, Python (tracking) |
~10 s | █▉ | 2016, Day 05, Part 1, Python |
~10 s | █▉ | 2016, Day 16, Part 2, Python |
~10 s | █▉ | 2017, Day 05, Part 2, Python |
~10 s | █▉ | 2017, Day 15, Part 1, Python |
~10 s | █▉ | 2018, Day 22, Part 2, Python (simple) |
~10 s | █▉ | 2019, Day 16, Part 1, Python (computing the transform matrix on-the-fly) |
~10 s | █▉ | 2019, Day 16, Part 2, Python |
~10 s | █▉ | 2021, Day 20, Part 2, Python |
~10 s | █▉ | 2021, Day 24, Part 1, Python |
~10 s | █▉ | 2023, Day 16, Part 2, Python |
~8 s | █▊ | 2016, Day 19, Part 2, Python |
~8 s | █▊ | 2017, Day 15, Part 2, Python |
~7.5 s | █▊ | 2019, Day 10, Part 2, Python |
~7 s | █▊ | 2016, Day 18, Part 2, Python |
~7 s | █▊ | 2018, Day 25, Part 1, Python |
~7 s | █▊ | 2021, Day 15, Part 2, Python (BFS) |
~7 s | █▊ | 2022, Day 19, Part 1, Python |
~6 s | █▊ | 2015, Day 10, Part 2, Python |
~6 s | █▊ | 2015, Day 11, Part 2, Python |
~6 s | █▊ | 2016, Day 11, Part 2, Python (with canonicalization) |
~6 s | █▊ | 2018, Day 11, Part 2, Python (optimized pre-summed matrix) |
~6 s | █▊ | 2019, Day 12, Part 2, Python (full axis separation) |
~6 s | █▊ | 2019, Day 25, Part 1, Python |
~5 s | █▋ | 2015, Day 06, Part 2, Python |
~5 s | █▋ | 2015, Day 22, Part 2, Python |
~5 s | █▋ | 2017, Day 13, Part 2, Python |
~5 s | █▋ | 2017, Day 22, Part 2, Python |
~5 s | █▋ | 2017, Day 24, Part 1, Python |
~5 s | █▋ | 2017, Day 24, Part 2, Python |
~5 s | █▋ | 2017, Day 25, Part 1, Python |
~5 s | █▋ | 2019, Day 12, Part 2, Python (derived from part 1 solution) |
~5 s | █▋ | 2019, Day 16, Part 1, Python (computing and "caching" the transform matrix first) |
~5 s | █▋ | 2019, Day 19, Part 2, Python (edge walking) |
~5 s | █▋ | 2020, Day 25, Part 1, Python |
~5 s | █▋ | 2023, Day 06, Part 2, Python (brute force) |
~5 s | █▋ | 2023, Day 17, Part 2, Python |
~5 s | █▋ | 2023, Day 25, Part 1, Python |
~4 s | █▌ | 2015, Day 20, Part 2, Python |
~4 s | █▌ | 2018, Day 05, Part 1, Python (multi-pass) |
~4 s | █▌ | 2018, Day 22, Part 2, Python (optimized) |
~4 s | █▌ | 2021, Day 18, Part 2, Python |
~3.5 s | █▌ | 2015, Day 04, Part 2, Python |
~3.5 s | █▌ | 2015, Day 06, Part 1, Python |
~3.5 s | █▌ | 2016, Day 17, Part 2, Python |
~3.5 s | █▌ | 2018, Day 11, Part 2, Python (SAT) |
~3.5 s | █▌ | 2019, Day 19, Part 1, Python (brute force) |
~3.5 s | █▌ | 2019, Day 21, Part 2, Python |
~3.5 s | █▌ | 2022, Day 11, Part 2, Python |
~3 s | █▍ | 2015, Day 17, Part 1, Python |
~3 s | █▍ | 2015, Day 17, Part 2, Python |
~3 s | █▍ | 2015, Day 20, Part 1, Python |
~3 s | █▍ | 2015, Day 25, Part 1, Python |
~3 s | █▍ | 2018, Day 18, Part 2, Python |
~3 s | █▍ | 2018, Day 19, Part 1, Python (plain simulation) |
~3 s | █▍ | 2019, Day 13, Part 2, Python |
~3 s | █▍ | 2020, Day 11, Part 2, Python |
~3 s | █▍ | 2021, Day 25, Part 1, Python (2D array) |
~3 s | █▍ | 2023, Day 12, Part 2, Python |
~2.5 s | █▍ | 2019, Day 09, Part 2, Python |
~2.5 s | █▍ | 2020, Day 11, Part 1, Python (with dictionaries) |
~2.5 s | █▍ | 2020, Day 22, Part 2, Python |
~2.5 s | █▍ | 2021, Day 23, Part 1, Python |
~2.5 s | █▍ | 2021, Day 23, Part 2, Python |
~2.5 s | █▍ | 2022, Day 16, Part 1, Python (DFS only) |
~2 s | █▎ | 2016, Day 14, Part 1, Python |
~2 s | █▎ | 2018, Day 05, Part 2, Python (single-pass) |
~2 s | █▎ | 2018, Day 06, Part 1, Python |
~2 s | █▎ | 2020, Day 24, Part 2, Python |
~2 s | █▎ | 2021, Day 22, Part 1, Python |
~2 s | █▎ | 2022, Day 14, Part 2, Python (complex numbers) |
~2 s | █▎ | 2022, Day 20, Part 1, Python (nested loop) |
~2 s | █▎ | 2022, Day 20, Part 2, Python (linked list) |
~1.5 s | █▏ | 2015, Day 13, Part 2, Python |
~1.5 s | █▏ | 2016, Day 19, Part 1, Python |
~1.5 s | █▏ | 2019, Day 10, Part 1, Python |
~1.5 s | █▏ | 2020, Day 11, Part 1, Python (with 2D arrays) |
~1.5 s | █▏ | 2020, Day 15, Part 2, C |
~1.5 s | █▏ | 2020, Day 17, Part 2, Python |
~1.5 s | █▏ | 2022, Day 14, Part 2, Python (coordinate tuples) |
~1.5 s | █▏ | 2022, Day 15, Part 2, Python (heuristics and boundary intersection) |
~1.5 s | █▏ | 2022, Day 20, Part 2, Python (order table) |
~1.5 s | █▏ | 2022, Day 24, Part 2, Python |
~1.5 s | █▏ | 2023, Day 14, Part 2, Python (complex numbers) |
~1.5 s | █▏ | 2023, Day 17, Part 1, Python |
~1 s | █ | 2015, Day 15, Part 1, Python |
~1 s | █ | 2015, Day 15, Part 2, Python |
~1 s | █ | 2015, Day 18, Part 1, Python |
~1 s | █ | 2015, Day 18, Part 2, Python |
~1 s | █ | 2015, Day 22, Part 1, Python |
~1 s | █ | 2016, Day 15, Part 2, Python |
~1 s | █ | 2018, Day 03, Part 2, Python |
~1 s | █ | 2018, Day 19, Part 2, Python (host computation) |
~1 s | █ | 2019, Day 04, Part 1, Python |
~1 s | █ | 2019, Day 04, Part 2, Python |
~1 s | █ | 2019, Day 23, Part 2, Python |
~1 s | █ | 2021, Day 12, Part 2, Python |
~1 s | █ | 2021, Day 15, Part 2, Python (Dijkstra) |
~1 s | █ | 2021, Day 17, Part 2, Python |
~1 s | █ | 2021, Day 24, Part 2, Python |
~1 s | █ | 2022, Day 15, Part 1, Python (set of coordinates) |
~1 s | █ | 2023, Day 14, Part 2, Python (coordinate tuples) |
~1 s | █ | 2023, Day 22, Part 2, Python |
~800 ms | ▉ | 2023, Day 03, Part 1, Python (list of spans) |
~800 ms | ▉ | 2023, Day 22, Part 1, Python |
~750 ms | ▉ | 2017, Day 16, Part 2, Python |
~750 ms | ▉ | 2017, Day 23, Part 2, Python |
~750 ms | ▉ | 2018, Day 06, Part 2, Python |
~700 ms | ▉ | 2015, Day 10, Part 1, Python |
~700 ms | ▉ | 2019, Day 18, Part 2, Python |
~700 ms | ▉ | 2023, Day 23, Part 2, Python (generating and running C code) |
~600 ms | ▊ | 2019, Day 02, Part 2, Python |
~600 ms | ▊ | 2019, Day 20, Part 2, Python |
~600 ms | ▊ | 2019, Day 24, Part 2, Python |
~600 ms | ▊ | 2020, Day 01, Part 2, Python |
~600 ms | ▊ | 2020, Day 23, Part 2, C |
~600 ms | ▊ | 2023, Day 21, Part 2, Python (edge only) |
~500 ms | ▊ | 2017, Day 14, Part 1, Python |
~500 ms | ▊ | 2017, Day 14, Part 2, Python |
~500 ms | ▊ | 2018, Day 09, Part 1, Python (array) |
~500 ms | ▊ | 2018, Day 14, Part 2, C |
~500 ms | ▊ | 2018, Day 23, Part 2, Python |
~500 ms | ▊ | 2019, Day 11, Part 1, Python |
~500 ms | ▊ | 2019, Day 17, Part 2, Python |
~500 ms | ▊ | 2021, Day 17, Part 1, Python |
~500 ms | ▊ | 2022, Day 21, Part 1, Python (evil exec hackery) |
~500 ms | ▊ | 2022, Day 24, Part 1, Python |
~500 ms | ▊ | 2023, Day 14, Part 2, Python (string processing) |
~400 ms | ▋ | 2018, Day 14, Part 1, Python |
~400 ms | ▋ | 2021, Day 07, Part 2, Python |
~400 ms | ▋ | 2023, Day 03, Part 2, Python (list of spans) |
~400 ms | ▋ | 2023, Day 18, Part 2, Python (BFS filling + coordinate compression) |
~400 ms | ▋ | 2023, Day 23, Part 1, Python (direct maze DFS) |
~350 ms | ▋ | 2017, Day 20, Part 1, Python |
~350 ms | ▋ | 2017, Day 20, Part 2, Python |
~350 ms | ▋ | 2018, Day 03, Part 1, Python |
~350 ms | ▋ | 2019, Day 19, Part 2, Python (fast search with slope estimation) |
~350 ms | ▋ | 2021, Day 18, Part 1, Python |
~350 ms | ▋ | 2021, Day 25, Part 1, Python (strings) |
~350 ms | ▋ | 2022, Day 17, Part 2, Python |
~350 ms | ▋ | 2023, Day 20, Part 2, Python (simulation) |
~300 ms | ▌ | 2019, Day 15, Part 1, Python |
~300 ms | ▌ | 2019, Day 15, Part 2, Python |
~300 ms | ▌ | 2019, Day 18, Part 1, Python |
~300 ms | ▌ | 2020, Day 19, Part 2, Python |
~300 ms | ▌ | 2023, Day 10, Part 2, Python (flood fill) |
~250 ms | ▌ | 2019, Day 17, Part 1, Python |
~250 ms | ▌ | 2020, Day 09, Part 2, Python |
~250 ms | ▌ | 2021, Day 05, Part 2, Python |
~250 ms | ▌ | 2021, Day 21, Part 2, Python |
~200 ms | ▍ | 2016, Day 22, Part 1, Python |
~200 ms | ▍ | 2017, Day 18, Part 2, Python |
~200 ms | ▍ | 2018, Day 09, Part 2, C (CDLL) |
~150 ms | ▎ | 2015, Day 04, Part 1, Python |
~150 ms | ▎ | 2015, Day 11, Part 1, Python |
~150 ms | ▎ | 2015, Day 13, Part 1, Python |
~150 ms | ▎ | 2016, Day 16, Part 2, C |
~150 ms | ▎ | 2018, Day 11, Part 1, Python |
~150 ms | ▎ | 2018, Day 11, Part 2, C (optimized pre-summed matrix) |
~150 ms | ▎ | 2018, Day 11, Part 2, C (SAT) |
~150 ms | ▎ | 2018, Day 13, Part 2, Python |
~150 ms | ▎ | 2019, Day 03, Part 1, Python |
~150 ms | ▎ | 2019, Day 03, Part 2, Python |
~150 ms | ▎ | 2019, Day 07, Part 1, Python |
~150 ms | ▎ | 2019, Day 07, Part 2, Python |
~150 ms | ▎ | 2019, Day 21, Part 1, Python |
~150 ms | ▎ | 2019, Day 23, Part 1, Python (machines as classes) |
~150 ms | ▎ | 2019, Day 23, Part 1, Python (machines as dictionaries) |
~150 ms | ▎ | 2020, Day 09, Part 1, Python |
~150 ms | ▎ | 2020, Day 14, Part 2, Python |
~150 ms | ▎ | 2020, Day 20, Part 2, Python |
~150 ms | ▎ | 2021, Day 05, Part 1, Python (using part 2 approach) |
~150 ms | ▎ | 2021, Day 07, Part 1, Python |
~150 ms | ▎ | 2022, Day 09, Part 2, Python (complex numbers) |
~150 ms | ▎ | 2022, Day 18, Part 2, Python |
~150 ms | ▎ | 2022, Day 20, Part 1, Python (linked list) |
~150 ms | ▎ | 2022, Day 22, Part 2, Python (automatic portals) |
~150 ms | ▎ | 2022, Day 23, Part 1, Python |
~150 ms | ▎ | 2023, Day 18, Part 1, Python (BFS filling) |
~100 ms | ▏ | 2015, Day 09, Part 1, Python |
~100 ms | ▏ | 2015, Day 09, Part 2, Python |
~100 ms | ▏ | 2016, Day 17, Part 1, Python |
~100 ms | ▏ | 2016, Day 19, Part 2, C |
~100 ms | ▏ | 2017, Day 05, Part 1, Python |
~100 ms | ▏ | 2017, Day 16, Part 1, Python |
~100 ms | ▏ | 2019, Day 11, Part 2, Python |
~100 ms | ▏ | 2019, Day 13, Part 1, Python |
~100 ms | ▏ | 2019, Day 22, Part 1, Python (full deck simulation) |
~100 ms | ▏ | 2021, Day 09, Part 2, Python (using arbitrary seeds) |
~100 ms | ▏ | 2023, Day 12, Part 1, Python (approach from part 2) |
~100 ms | ▏ | 2023, Day 20, Part 1, Python |
~100 ms | ▏ | 2023, Day 24, Part 1, Python |
<100 ms | ▏ | 2015, Day 01, Part 1, Python |
<100 ms | ▏ | 2015, Day 01, Part 2, Python |
<100 ms | ▏ | 2015, Day 02, Part 1, Python |
<100 ms | ▏ | 2015, Day 02, Part 2, Python |
<100 ms | ▏ | 2015, Day 03, Part 1, Python |
<100 ms | ▏ | 2015, Day 03, Part 2, Python |
<100 ms | ▏ | 2015, Day 05, Part 1, Python |
<100 ms | ▏ | 2015, Day 05, Part 2, Python |
<100 ms | ▏ | 2015, Day 08, Part 1, Python |
<100 ms | ▏ | 2015, Day 08, Part 2, Python |
<100 ms | ▏ | 2015, Day 12, Part 1, Python |
<100 ms | ▏ | 2015, Day 12, Part 2, Python |
<100 ms | ▏ | 2015, Day 14, Part 1, Python |
<100 ms | ▏ | 2015, Day 14, Part 2, Python |
<100 ms | ▏ | 2015, Day 16, Part 1, Python |
<100 ms | ▏ | 2015, Day 16, Part 2, Python |
<100 ms | ▏ | 2015, Day 19, Part 1, Python |
<100 ms | ▏ | 2015, Day 19, Part 2, Python (dumb DFS) |
<100 ms | ▏ | 2015, Day 19, Part 2, Python (greedy DFS) |
<100 ms | ▏ | 2015, Day 21, Part 1, Python |
<100 ms | ▏ | 2015, Day 21, Part 2, Python |
<100 ms | ▏ | 2015, Day 23, Part 1, Python |
<100 ms | ▏ | 2015, Day 23, Part 2, Python |
<100 ms | ▏ | 2016, Day 01, Part 1, Python |
<100 ms | ▏ | 2016, Day 01, Part 2, Python |
<100 ms | ▏ | 2016, Day 02, Part 1, Python |
<100 ms | ▏ | 2016, Day 02, Part 2, Python |
<100 ms | ▏ | 2016, Day 03, Part 1, Python |
<100 ms | ▏ | 2016, Day 03, Part 2, Python |
<100 ms | ▏ | 2016, Day 04, Part 1, Python |
<100 ms | ▏ | 2016, Day 04, Part 2, Python |
<100 ms | ▏ | 2016, Day 06, Part 1, Python |
<100 ms | ▏ | 2016, Day 06, Part 2, Python |
<100 ms | ▏ | 2016, Day 07, Part 1, Python |
<100 ms | ▏ | 2016, Day 07, Part 2, Python |
<100 ms | ▏ | 2016, Day 09, Part 1, Python |
<100 ms | ▏ | 2016, Day 09, Part 2, Python |
<100 ms | ▏ | 2016, Day 10, Part 1, Python |
<100 ms | ▏ | 2016, Day 10, Part 2, Python |
<100 ms | ▏ | 2016, Day 13, Part 1, Python |
<100 ms | ▏ | 2016, Day 13, Part 2, Python |
<100 ms | ▏ | 2016, Day 15, Part 1, Python |
<100 ms | ▏ | 2016, Day 16, Part 1, Python |
<100 ms | ▏ | 2016, Day 18, Part 1, Python |
<100 ms | ▏ | 2016, Day 20, Part 1, Python |
<100 ms | ▏ | 2016, Day 20, Part 2, Python |
<100 ms | ▏ | 2016, Day 21, Part 1, Python |
<100 ms | ▏ | 2016, Day 21, Part 2, Python |
<100 ms | ▏ | 2016, Day 22, Part 2, Python |
<100 ms | ▏ | 2016, Day 23, Part 1, Python |
<100 ms | ▏ | 2016, Day 23, Part 2, Python |
<100 ms | ▏ | 2016, Day 24, Part 1, Python |
<100 ms | ▏ | 2016, Day 24, Part 2, Python |
<100 ms | ▏ | 2016, Day 25, Part 1, Python |
<100ms | ▏ | 2017, Day 01, Part 1, Python |
<100ms | ▏ | 2017, Day 01, Part 2, Python |
<100 ms | ▏ | 2017, Day 02, Part 1, Python |
<100 ms | ▏ | 2017, Day 02, Part 2, Python |
<100 ms | ▏ | 2017, Day 03, Part 1, Python |
<100 ms | ▏ | 2017, Day 03, Part 2, Python |
<100 ms | ▏ | 2017, Day 04, Part 1, Python |
<100 ms | ▏ | 2017, Day 04, Part 2, Python |
<100 ms | ▏ | 2017, Day 06, Part 1, Python |
<100 ms | ▏ | 2017, Day 06, Part 2, Python |
<100 ms | ▏ | 2017, Day 07, Part 1, Python |
<100 ms | ▏ | 2017, Day 07, Part 2, Python |
<100 ms | ▏ | 2017, Day 08, Part 1, Python |
<100 ms | ▏ | 2017, Day 08, Part 2, Python |
<100 ms | ▏ | 2017, Day 10, Part 1, Python |
<100 ms | ▏ | 2017, Day 10, Part 2, Python |
<100 ms | ▏ | 2017, Day 11, Part 1, Python |
<100 ms | ▏ | 2017, Day 11, Part 2, Python |
<100 ms | ▏ | 2017, Day 12, Part 1, Python |
<100 ms | ▏ | 2017, Day 12, Part 2, Python |
<100 ms | ▏ | 2017, Day 13, Part 1, Python |
<100 ms | ▏ | 2017, Day 17, Part 1, Python (full simulation with arrays) |
<100 ms | ▏ | 2017, Day 18, Part 1, Python |
<100 ms | ▏ | 2017, Day 19, Part 1, Python |
<100 ms | ▏ | 2017, Day 19, Part 2, Python |
<100 ms | ▏ | 2017, Day 22, Part 1, Python |
<100 ms | ▏ | 2017, Day 23, Part 1, Python |
<100 ms | ▏ | 2018, Day 01, Part 1, Python |
<100 ms | ▏ | 2018, Day 01, Part 2, Python |
<100 ms | ▏ | 2018, Day 02, Part 1, Python |
<100 ms | ▏ | 2018, Day 02, Part 2, Python |
<100 ms | ▏ | 2018, Day 04, Part 1, Python |
<100 ms | ▏ | 2018, Day 04, Part 2, Python |
<100 ms | ▏ | 2018, Day 07, Part 1, Python |
<100 ms | ▏ | 2018, Day 07, Part 2, Python |
<100 ms | ▏ | 2018, Day 08, Part 1, Python |
<100 ms | ▏ | 2018, Day 08, Part 2, Python |
<100 ms | ▏ | 2018, Day 12, Part 1, Python |
<100 ms | ▏ | 2018, Day 12, Part 2, Python |
<100 ms | ▏ | 2018, Day 13, Part 1, Python |
<100 ms | ▏ | 2018, Day 16, Part 1, Python |
<100 ms | ▏ | 2018, Day 16, Part 2, Python |
<100 ms | ▏ | 2018, Day 18, Part 1, Python |
<100 ms | ▏ | 2018, Day 21, Part 1, Python (host computation) |
<100 ms | ▏ | 2018, Day 21, Part 2, Python (host computation) |
<100 ms | ▏ | 2018, Day 22, Part 1, Python |
<100 ms | ▏ | 2018, Day 23, Part 1, Python |
<100 ms | ▏ | 2019, Day 01, Part 1, Python |
<100 ms | ▏ | 2019, Day 01, Part 2, Python |
<100 ms | ▏ | 2019, Day 02, Part 1, Python |
<100 ms | ▏ | 2019, Day 05, Part 1, Python |
<100 ms | ▏ | 2019, Day 05, Part 2, Python |
<100 ms | ▏ | 2019, Day 06, Part 1, Python |
<100 ms | ▏ | 2019, Day 06, Part 2, Python |
<100 ms | ▏ | 2019, Day 08, Part 1, Python |
<100 ms | ▏ | 2019, Day 08, Part 2, Python |
<100 ms | ▏ | 2019, Day 09, Part 1, Python |
<100 ms | ▏ | 2019, Day 12, Part 1, Python |
<100 ms | ▏ | 2019, Day 14, Part 1, Python |
<100 ms | ▏ | 2019, Day 14, Part 2, Python |
<100 ms | ▏ | 2019, Day 20, Part 1, Python |
<100 ms | ▏ | 2019, Day 22, Part 1, Python (single card tracing) |
<100 ms | ▏ | 2019, Day 22, Part 2, Python (reverse construction) |
<100 ms | ▏ | 2019, Day 22, Part 2, Python (forward construction) |
<100 ms | ▏ | 2019, Day 24, Part 1, Python |
<100 ms | ▏ | 2020, Day 01, Part 1, Python |
<100 ms | ▏ | 2020, Day 02, Part 1, Python |
<100 ms | ▏ | 2020, Day 02, Part 2, Python |
<100 ms | ▏ | 2020, Day 03, Part 1, Python |
<100 ms | ▏ | 2020, Day 03, Part 2, Python |
<100 ms | ▏ | 2020, Day 04, Part 1, Python |
<100 ms | ▏ | 2020, Day 04, Part 2, Python |
<100 ms | ▏ | 2020, Day 05, Part 1, Python |
<100 ms | ▏ | 2020, Day 05, Part 2, Python |
<100 ms | ▏ | 2020, Day 06, Part 1, Python |
<100 ms | ▏ | 2020, Day 06, Part 2, Python |
<100 ms | ▏ | 2020, Day 07, Part 1, Python |
<100 ms | ▏ | 2020, Day 07, Part 2, Python |
<100 ms | ▏ | 2020, Day 08, Part 1, Python |
<100 ms | ▏ | 2020, Day 08, Part 2, Python |
<100 ms | ▏ | 2020, Day 10, Part 1, Python |
<100 ms | ▏ | 2020, Day 10, Part 2, Python |
<100 ms | ▏ | 2020, Day 12, Part 1, Python |
<100 ms | ▏ | 2020, Day 12, Part 2, Python |
<100 ms | ▏ | 2020, Day 13, Part 1, Python |
<100 ms | ▏ | 2020, Day 13, Part 2, Python |
<100 ms | ▏ | 2020, Day 14, Part 1, Python |
<100 ms | ▏ | 2020, Day 15, Part 1, Python |
<100 ms | ▏ | 2020, Day 16, Part 1, Python |
<100 ms | ▏ | 2020, Day 16, Part 2, Python |
<100 ms | ▏ | 2020, Day 17, Part 1, Python |
<100 ms | ▏ | 2020, Day 18, Part 1, Python |
<100 ms | ▏ | 2020, Day 18, Part 2, Python (manual parsing) |
<100 ms | ▏ | 2020, Day 18, Part 2, Python (eval hack) |
<100 ms | ▏ | 2020, Day 19, Part 1, Python |
<100 ms | ▏ | 2020, Day 20, Part 1, Python |
<100 ms | ▏ | 2020, Day 22, Part 1, Python |
<100 ms | ▏ | 2020, Day 23, Part 1, Python |
<100 ms | ▏ | 2020, Day 24, Part 1, Python |
<100 ms | ▏ | 2021, Day 01, Part 1, Python |
<100 ms | ▏ | 2021, Day 01, Part 2, Python |
<100 ms | ▏ | 2021, Day 02, Part 1, Python (using complex numbers) |
<100 ms | ▏ | 2021, Day 02, Part 1, Python (using separate components) |
<100 ms | ▏ | 2021, Day 02, Part 2, Python |
<100 ms | ▏ | 2021, Day 03, Part 1, Python |
<100 ms | ▏ | 2021, Day 03, Part 2, Python |
<100 ms | ▏ | 2021, Day 04, Part 1, Python |
<100 ms | ▏ | 2021, Day 04, Part 2, Python |
<100 ms | ▏ | 2021, Day 05, Part 1, Python (coordinate list) |
<100 ms | ▏ | 2021, Day 06, Part 1, Python |
<100 ms | ▏ | 2021, Day 06, Part 2, Python |
<100 ms | ▏ | 2021, Day 08, Part 1, Python |
<100 ms | ▏ | 2021, Day 08, Part 2, Python |
<100 ms | ▏ | 2021, Day 09, Part 1, Python |
<100 ms | ▏ | 2021, Day 09, Part 2, Python (using low point seeds) |
<100 ms | ▏ | 2021, Day 10, Part 1, Python |
<100 ms | ▏ | 2021, Day 10, Part 2, Python |
<100 ms | ▏ | 2021, Day 11, Part 1, Python |
<100 ms | ▏ | 2021, Day 11, Part 2, Python |
<100 ms | ▏ | 2021, Day 12, Part 1, Python |
<100 ms | ▏ | 2021, Day 13, Part 1, Python |
<100 ms | ▏ | 2021, Day 13, Part 2, Python |
<100 ms | ▏ | 2021, Day 14, Part 1, Python |
<100 ms | ▏ | 2021, Day 14, Part 2, Python |
<100 ms | ▏ | 2021, Day 15, Part 1, Python |
<100 ms | ▏ | 2021, Day 16, Part 1, Python |
<100 ms | ▏ | 2021, Day 16, Part 2, Python |
<100 ms | ▏ | 2021, Day 20, Part 1, Python |
<100 ms | ▏ | 2021, Day 21, Part 1, Python |
<100 ms | ▏ | 2022, Day 01, Part 1, Python |
<100 ms | ▏ | 2022, Day 01, Part 2, Python |
<100 ms | ▏ | 2022, Day 02, Part 1, Python |
<100 ms | ▏ | 2022, Day 02, Part 2, Python |
<100 ms | ▏ | 2022, Day 03, Part 1, Python |
<100 ms | ▏ | 2022, Day 03, Part 2, Python |
<100 ms | ▏ | 2022, Day 04, Part 1, Python |
<100 ms | ▏ | 2022, Day 04, Part 2, Python |
<100 ms | ▏ | 2022, Day 05, Part 1, Python |
<100 ms | ▏ | 2022, Day 05, Part 2, Python |
<100 ms | ▏ | 2022, Day 06, Part 1, Python |
<100 ms | ▏ | 2022, Day 06, Part 2, Python |
<100 ms | ▏ | 2022, Day 08, Part 1, Python |
<100 ms | ▏ | 2022, Day 08, Part 2, Python |
<100 ms | ▏ | 2022, Day 09, Part 1, Python (coordinate tuples) |
<100 ms | ▏ | 2022, Day 09, Part 2, Python (coordinate tuples) |
<100 ms | ▏ | 2022, Day 09, Part 1, Python (complex numbers) |
<100 ms | ▏ | 2022, Day 10, Part 1, Python |
<100 ms | ▏ | 2022, Day 10, Part 2, Python |
<100 ms | ▏ | 2022, Day 11, Part 1, Python |
<100 ms | ▏ | 2022, Day 13, Part 1, Python |
<100 ms | ▏ | 2022, Day 13, Part 2, Python (with proper parsing and comparison) |
<100 ms | ▏ | 2022, Day 13, Part 2, Python (shortcut, list-based) |
<100 ms | ▏ | 2022, Day 13, Part 2, Python (shortcut, string-based) |
<100 ms | ▏ | 2022, Day 14, Part 1, Python (complex numbers) |
<100 ms | ▏ | 2022, Day 14, Part 1, Python (coordinate tuples) |
<100 ms | ▏ | 2022, Day 14, Part 2, Python (sweep approach) |
<100 ms | ▏ | 2022, Day 17, Part 1, Python |
<100 ms | ▏ | 2022, Day 18, Part 1, Python |
<100 ms | ▏ | 2022, Day 20, Part 1, Python (order table) |
<100 ms | ▏ | 2022, Day 21, Part 1, Python |
<100 ms | ▏ | 2022, Day 21, Part 2, Python (equation inversion) |
<100 ms | ▏ | 2022, Day 21, Part 2, Python (linear solver) |
<100 ms | ▏ | 2022, Day 22, Part 1, Python |
<100 ms | ▏ | 2022, Day 22, Part 2, Python (hard-coded portals) |
<100 ms | ▏ | 2022, Day 25, Part 1, Python (with conversions) |
<100 ms | ▏ | 2022, Day 25, Part 1, Python (direct addition) |
<100 ms | ▏ | 2023, Day 01, Part 1, Python |
<100 ms | ▏ | 2023, Day 01, Part 2, Python |
<100 ms | ▏ | 2023, Day 02, Part 1, Python |
<100 ms | ▏ | 2023, Day 02, Part 2, Python |
<100 ms | ▏ | 2023, Day 03, Part 1, Python (complex number dictionary) |
<100 ms | ▏ | 2023, Day 03, Part 2, Python (complex number dictionary) |
<100 ms | ▏ | 2023, Day 04, Part 1, Python |
<100 ms | ▏ | 2023, Day 04, Part 2, Python |
<100 ms | ▏ | 2023, Day 05, Part 1, Python |
<100 ms | ▏ | 2023, Day 05, Part 2, Python (interval processing) |
<100 ms | ▏ | 2023, Day 06, Part 1, Python |
<100 ms | ▏ | 2023, Day 06, Part 2, Python (quadratic equation solving) |
<100 ms | ▏ | 2023, Day 07, Part 1, Python |
<100 ms | ▏ | 2023, Day 07, Part 2, Python |
<100 ms | ▏ | 2023, Day 08, Part 1, Python |
<100 ms | ▏ | 2023, Day 08, Part 2, Python |
<100 ms | ▏ | 2023, Day 09, Part 1, Python |
<100 ms | ▏ | 2023, Day 09, Part 2, Python |
<100 ms | ▏ | 2023, Day 10, Part 1, Python |
<100 ms | ▏ | 2023, Day 10, Part 2, Python (shoelace/Pick) |
<100 ms | ▏ | 2023, Day 11, Part 1, Python (duplicating rows and columns) |
<100 ms | ▏ | 2023, Day 11, Part 1, Python (coordinate translation) |
<100 ms | ▏ | 2023, Day 11, Part 2, Python (coordinate translation) |
<100 ms | ▏ | 2023, Day 13, Part 1, Python |
<100 ms | ▏ | 2023, Day 13, Part 2, Python |
<100 ms | ▏ | 2023, Day 14, Part 1, Python (coordinate tuples) |
<100 ms | ▏ | 2023, Day 14, Part 1, Python (complex numbers) |
<100 ms | ▏ | 2023, Day 14, Part 1, Python (string processing) |
<100 ms | ▏ | 2023, Day 15, Part 1, Python |
<100 ms | ▏ | 2023, Day 15, Part 2, Python |
<100 ms | ▏ | 2023, Day 16, Part 1, Python |
<100 ms | ▏ | 2023, Day 18, Part 1, Python (shoelace/Pick) |
<100 ms | ▏ | 2023, Day 18, Part 2, Python (shoelace/Pick) |
<100 ms | ▏ | 2023, Day 19, Part 1, Python |
<100 ms | ▏ | 2023, Day 19, Part 2, Python |
<100 ms | ▏ | 2023, Day 20, Part 2, Python (input graph parsing) |
<100 ms | ▏ | 2023, Day 21, Part 1, Python |
<100 ms | ▏ | 2023, Day 24, Part 2, Python (single hailstone triple) |
<100 ms | ▏ | 2023, Day 24, Part 2, Python (better numerical stability) |