Commit Graph

71 Commits

Author SHA1 Message Date
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