Commit Graph

18 Commits

Author SHA1 Message Date
b71f1dc5b2 Spruce up day 10 visuals a bit
Add some more constants to help with making things look good and unicode-y.
2023-12-14 21:18:56 -06:00
27628abd48 Day 12
Part 1 was my own, but was far, far too slow for part 2. I couldn't find a way to optimize it and didn't want to get stuck on the day forever, so I cribbed a solution from a Reddit post explaining a much faster way to solve it.
2023-12-14 21:17:37 -06:00
de681b23e7 Day 13 2023-12-13 10:47:00 -06:00
bbf18aac9f Day 11
I've got an off-by-one in ExpandGrid that only seems to affect expanding by more than one. I don't know what that is yet.
2023-12-11 11:51:33 -06:00
59637e4eff Better day 10 renderer
This adds constants for box-type-drawing characters and expands the logger's support for printing colored chunks without needing a newline. The result is quite nice! Credit to r/adventofcode for the idea :)
2023-12-10 12:21:38 -06:00
4cac4bd164 Day 10
I needed some help on part 2. Solving for enclosed points in a polygon is...not my forte.
2023-12-10 01:11:26 -06:00
a98c34a9df Day 9
Alright then. Not quite the difficulty I was expecting from a weekend problem this year.
2023-12-09 09:12:38 -06:00
1da4a195aa Day 8
This one felt good. And I hit a new personal best on the global leaderboard of 562/404.
2023-12-07 23:31:57 -06:00
0ba5d244f5 Day 7
I probably should have just tried replacing the J's with every possible card, but alas...this terrible thing works.
2023-12-07 21:13:13 -06:00
11a8465853 Day 6
Thanks for the reprieve.
2023-12-06 07:47:14 -06:00
a64c43e2e6 Day 5
I...I know there's a way to map all the ranges together to build intersections and make a smart decision about this, but I just...don't really want to do that. This brute force approach finishes in about 55 seconds in Debug and 5 seconds in Release on my PC in a single thread, which...is fine. For now.
2023-12-05 01:29:37 -06:00
a1a833f9a1 Day 4
This is more what I was expecting for the first few days.
2023-12-04 08:24:42 -06:00
828f89cca2 Fix ReadAllText
I guess I've either never used this or only used it for one-line files because it was only ever returning the last line of the file.
2023-12-03 14:41:34 -06:00
411898e9f4 Much better day 3 solution
This moves all the actual handling to the parse function (so that part 2 can run on its own instead of requiring part 1 to fill its data structure for it). Now each part is just operating on the segment of the parsed data that is appropriate to it, and we can much more efficiently handle gears as we come across numbers instead of trying to search for numbers after finding a gear.
2023-12-03 14:29:01 -06:00
47dec863e7 Day 3
I have a much more robust idea for part 2, but I don't feel like implementing it tonight.
2023-12-03 01:12:50 -06:00
89d4713467 Day 2 2023-12-02 08:41:15 -06:00
7c6694af02 Day 1
It's messy and it took me a frighteningly long time to get part 2 correct (not a good sign...) but it is finished.
2023-11-30 23:59:59 -06:00
4547803969 Initial commit, prep 2023-11-22 15:06:15 -06:00