ktims
342f4c1883
day25: problem 1 solution - cheated with dot
2023-12-24 22:33:20 -08:00
ktims
881d0b08ad
day24: problem 1 solution
2023-12-23 22:54:21 -08:00
ktims
c1eb7761e3
day23: problem 2 solution
2023-12-23 02:54:07 -08:00
ktims
98456ed98d
day23: problem 1 solution
2023-12-22 22:33:34 -08:00
ktims
d6d4c0d056
gitignore
2023-12-22 20:58:14 -08:00
ktims
3bb3b3d6b6
day22: cleanup & nice output
2023-12-22 04:19:58 -08:00
ktims
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
ktims
8495969877
day22: problem 1 solution
2023-12-22 01:32:08 -08:00
ktims
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
ktims
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
ktims
512b05f624
day20: problem 2 solution - needed a hint
2023-12-20 01:48:09 -08:00
ktims
877101f9a2
day20: problem 1 solution
2023-12-20 00:13:23 -08:00
ktims
cdfecf821c
day19: refactoring and cleanup
2023-12-19 02:01:47 -08:00
ktims
2b921b5fb2
day19: problem 2 solution
2023-12-19 01:01:36 -08:00
ktims
a5dea64b32
day19: problem 1 solution
2023-12-18 22:06:03 -08:00
ktims
8200c1a8cf
root: add .rustfmt.toml
2023-12-18 02:04:22 -08:00
ktims
8d178ddfc6
day18: formatting and cleanup
2023-12-18 02:03:48 -08:00
ktims
3bc073f9b8
day18: problem 2 solution
2023-12-18 01:54:31 -08:00
ktims
0a9fa8e32f
day18: problem 1 solution
2023-12-17 23:04:56 -08:00
ktims
e65c17c8e6
day17: don't revisit the start position
2023-12-17 20:55:42 -08:00
ktims
3ee26cefe5
day17: super obvious code cleanups, more to do
2023-12-17 15:18:22 -08:00
ktims
9e37b2ce66
day17: add heatmap visualization of final path
2023-12-17 15:11:43 -08:00
ktims
d422c9b84e
day17: problem 2 - an ugly mess but finally working
2023-12-17 05:57:30 -08:00
ktims
5efa9853ca
day17: problem 1 solution - a messy one!
2023-12-17 04:38:35 -08:00
ktims
da25b73eca
day16: use tail recursion unstead of passing mutable state
2023-12-16 11:07:39 -08:00
ktims
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
ktims
427a0c766b
day16: much cleaner, nicely factored solution, and much faster
2023-12-15 23:42:43 -08:00
ktims
332620db0f
day16: problem 2 solution
2023-12-15 22:39:03 -08:00
ktims
a8ec929818
day16: problem 1 solution
2023-12-15 22:19:46 -08:00
ktims
f04078fbd7
boilerplate: remove unnecessary Duration import
2023-12-15 20:56:13 -08:00
ktims
498c96eaeb
day5: reimplement in a sane, fast way
2023-12-15 18:10:29 -08:00
ktims
84bcbd550b
day5: add timing
2023-12-15 18:09:49 -08:00
ktims
e12c0134b0
day15: functional hash implementation using fold()
2023-12-14 23:33:48 -08:00
ktims
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
ktims
78fb884c03
day14: some silly and not super effective performance optimizations
2023-12-14 01:57:06 -08:00
ktims
7926475a56
day14: refactor and cleanup duplicate code
2023-12-14 00:06:24 -08:00
ktims
e062ef5078
day14 problem 2 solution
2023-12-13 23:29:03 -08:00
ktims
11a7837400
day14: problem 1 solution
2023-12-13 22:12:50 -08:00
ktims
5666aee5f2
day13: problem 2 solution
2023-12-12 22:20:54 -08:00
ktims
f12e99c1f4
day13: problem 1 solution
2023-12-12 22:05:32 -08:00
ktims
c797e874d5
boilerplate: add timing
2023-12-12 02:24:24 -08:00
ktims
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
ktims
20e2a9f7be
day12: problem 1 solution
...
Slow and inefficient but fast enough for a solve
2023-12-11 23:12:06 -08:00
ktims
96ea3c317d
day11: problem 1 & problem 2 solutions
2023-12-10 22:34:39 -08:00
ktims
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
ktims
26f990840a
day10: problem 1 solution
2023-12-09 23:24:58 -08:00
ktims
b84b0b04e2
day9: formatting
2023-12-08 21:41:30 -08:00