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
ktims
37b645c341
day9: problem 2 solution
2023-12-08 21:39:45 -08:00
ktims
d2718db633
day9: problem 1 solution
2023-12-08 21:29:19 -08:00
ktims
be0ed3e377
day8: problem 1 & 2 solutions
2023-12-07 22:07:07 -08:00
ktims
c8eb06a5ec
boilerplate: add test boilerplate
2023-12-07 20:56:59 -08:00
ktims
9ab450d258
day7: problem 1 & 2 solutions
...
forgot to commit problem 1 only solution
2023-12-06 22:37:02 -08:00
Keenan Tims
9718b8ab04
day6: problem 2 solution
2023-12-06 18:15:36 -08:00
Keenan Tims
de6e826c31
day6: problem 1 solution
2023-12-06 18:07:15 -08:00
Keenan Tims
077f4ff8ee
day5: problem 2 solution. parallelized!
2023-12-06 17:24:24 -08:00
Keenan Tims
0665e109af
day5: performance: don't iterate to position just do arithemtic
2023-12-06 11:07:40 -08:00
Keenan Tims
6d1174e2db
day5: problem 1 solution
2023-12-06 09:06:59 -08:00
Keenan Tims
25daf558e6
boilerplate: make generic over Lines type
2023-12-05 21:46:11 -08:00
Keenan Tims
db4a8b0d24
day4: Add tests
2023-12-05 21:45:49 -08:00
Keenan Tims
a1f44e5886
day4: problem 2 solution
2023-12-05 19:47:45 -08:00
Keenan Tims
0d330c0a39
day4: problem 1 solution
2023-12-05 19:13:55 -08:00