Commit Graph

71 Commits

Author SHA1 Message Date
342f4c1883
day25: problem 1 solution - cheated with dot 2023-12-24 22:33:20 -08:00
881d0b08ad
day24: problem 1 solution 2023-12-23 22:54:21 -08:00
c1eb7761e3
day23: problem 2 solution 2023-12-23 02:54:07 -08:00
98456ed98d
day23: problem 1 solution 2023-12-22 22:33:34 -08:00
d6d4c0d056
gitignore 2023-12-22 20:58:14 -08:00
3bb3b3d6b6
day22: cleanup & nice output 2023-12-22 04:19:58 -08:00
dd91259fe2
day22: problem 2 solution.
no help but annoyingly i misread the hint about low/high and didn't submit my *correct* answer for over an hour while I bug hunted!
2023-12-22 03:47:01 -08:00
8495969877
day22: problem 1 solution 2023-12-22 01:32:08 -08:00
190fc92842
day21: problem 2 solution
not proud of this one either, completely cheated and it does not get
exactly the correct error (it was off by one for my input), but the
quadratic solver on Wolfram Alpha was able to do it.
2023-12-21 03:17:11 -08:00
eb6c1f42cd
day 21: problem 1 solution
another unsatisfying one where i needed a visual hint to grok what i
should be doing.

a bunch of graph building stuff that wasn't needed for the part 1
solution at all.
2023-12-21 00:34:08 -08:00
512b05f624
day20: problem 2 solution - needed a hint 2023-12-20 01:48:09 -08:00
877101f9a2
day20: problem 1 solution 2023-12-20 00:13:23 -08:00
cdfecf821c
day19: refactoring and cleanup 2023-12-19 02:01:47 -08:00
2b921b5fb2
day19: problem 2 solution 2023-12-19 01:01:36 -08:00
a5dea64b32
day19: problem 1 solution 2023-12-18 22:06:03 -08:00
8200c1a8cf
root: add .rustfmt.toml 2023-12-18 02:04:22 -08:00
8d178ddfc6
day18: formatting and cleanup 2023-12-18 02:03:48 -08:00
3bc073f9b8
day18: problem 2 solution 2023-12-18 01:54:31 -08:00
0a9fa8e32f
day18: problem 1 solution 2023-12-17 23:04:56 -08:00
e65c17c8e6
day17: don't revisit the start position 2023-12-17 20:55:42 -08:00
3ee26cefe5
day17: super obvious code cleanups, more to do 2023-12-17 15:18:22 -08:00
9e37b2ce66
day17: add heatmap visualization of final path 2023-12-17 15:11:43 -08:00
d422c9b84e
day17: problem 2 - an ugly mess but finally working 2023-12-17 05:57:30 -08:00
5efa9853ca
day17: problem 1 solution - a messy one! 2023-12-17 04:38:35 -08:00
da25b73eca
day16: use tail recursion unstead of passing mutable state 2023-12-16 11:07:39 -08:00
842def62dc
day16: back to elegant recursion now that we track beams
problem 1 solution was busting the stack, so used an iterative approach,
but now that we track lit beams we can bail out early enough not to bust
the stack. performance is the same but it's much nicer.
2023-12-15 23:54:22 -08:00
427a0c766b
day16: much cleaner, nicely factored solution, and much faster 2023-12-15 23:42:43 -08:00
332620db0f
day16: problem 2 solution 2023-12-15 22:39:03 -08:00
a8ec929818
day16: problem 1 solution 2023-12-15 22:19:46 -08:00
f04078fbd7
boilerplate: remove unnecessary Duration import 2023-12-15 20:56:13 -08:00
498c96eaeb
day5: reimplement in a sane, fast way 2023-12-15 18:10:29 -08:00
84bcbd550b
day5: add timing 2023-12-15 18:09:49 -08:00
e12c0134b0
day15: functional hash implementation using fold() 2023-12-14 23:33:48 -08:00
eac460417c
day15: problem 1 & 2 solutions 2023-12-14 22:07:49 -08:00
Keenan Tims
24c534ff88
day14: itertools is not used anymore 2023-12-14 15:43:11 -08:00
Keenan Tims
4f1f838d62
day14: simple Vec lookup is faster than HashMap since the cycle is short 2023-12-14 15:41:34 -08:00
Keenan Tims
ca3254e1e1
day14: translation-based minimal copy implementation 2023-12-14 14:19:58 -08:00
78fb884c03
day14: some silly and not super effective performance optimizations 2023-12-14 01:57:06 -08:00
7926475a56
day14: refactor and cleanup duplicate code 2023-12-14 00:06:24 -08:00
e062ef5078
day14 problem 2 solution 2023-12-13 23:29:03 -08:00
11a7837400
day14: problem 1 solution 2023-12-13 22:12:50 -08:00
5666aee5f2
day13: problem 2 solution 2023-12-12 22:20:54 -08:00
f12e99c1f4
day13: problem 1 solution 2023-12-12 22:05:32 -08:00
c797e874d5
boilerplate: add timing 2023-12-12 02:24:24 -08:00
a431c4b75f
day12: problem 2 solution
what a doozy. iterative solution from part 1 totally untenable.
recursive solution a bit tricky, but still not fast enough for brute
force. had to implement memoization cache for reasonable runtime.
2023-12-12 02:20:53 -08:00
20e2a9f7be
day12: problem 1 solution
Slow and inefficient but fast enough for a solve
2023-12-11 23:12:06 -08:00
96ea3c317d
day11: problem 1 & problem 2 solutions 2023-12-10 22:34:39 -08:00
ebd1d0ff94
day10: problem 2 solution
slightly cheated for ideas on part 2. still a pretty ugly solution.
2023-12-10 00:02:29 -08:00
26f990840a
day10: problem 1 solution 2023-12-09 23:24:58 -08:00
b84b0b04e2
day9: formatting 2023-12-08 21:41:30 -08:00