Advent of Code '23 - day 162023-12-16
Part one involves once again, following a path without getting stuck in an endless loop. For part two my solution was to simple run the same code over and over again and deduce the answer, but it got rejected. I have a gut feeling this is due to to loop detection, which kicks in at the wrong moment and thus stopping a trace prematurely. Will look into this later.
Advent of Code '23 - day 152023-12-15
Part one was pretty simple, and only had a very little influence over part two. I feel like my list skills are improving.
Advent of Code '23 - day 142023-12-14
Oh boy. I already anticipated part two would involve more than a single cardinal direction, and more than a single move as well. But this amount of repeats is insane. I think we're supposed to do some pattern recognition and deduce the answer by calculating the result from this pattern instead. I'll look at it later.
Advent of Code '23 - day 132023-12-13
Part one and two are practically equals, except for a custom predicate for comparing lists. The lists in part two are considered equal if there is exactly one character that in the entire list that does not match its counterpart.
Advent of Code '23 - day 122023-12-12
Part 1 takes way too long to generate an answer, so I'll really have to rewrite my solution for part 2… I did learn the rx macro with this one though, which is pretty nice. I'll skip part 2 for now, maybe come back to it later.
Advent of Code '23 - day 112023-12-11
An easier one again. For the second part it was very tempting to just insert all those extra columns, but calculating the offset based on the number of previously seen empty columns/rows is more efficient.
Advent of Code '23 - day 102023-12-10
The first part was pretty straightforward, following a path till we reach our starting position. I skipped the second part for the time being.
Advent of Code '23 - day 92023-12-09
My elisp skill are growing. Writing code goes quicker every time. The first part took a bit longer as I added the wrong results, but it didn't take very long to get there. For part two I only had to add a single reverse.
Advent of Code '23 - day 82023-12-08
The first part was pretty straightforward, just follow the path and trace your steps. The second part really screamed that brute forcing isn't the way here. I knew what numbers I needed, just not how to calculate those numbers so these (LCM and GCD) I had to look up.
Advent of Code '23 - day 72023-12-07
Appearantly I missed the rule about the lowest card. Fun puzzle nonetheless.
Advent of Code '23 - day 62023-12-06
An easier puzzle this time! This time I was able to solve it with pure math, with the only loop involved being in the input parser for part 1.
Advent of Code '23 - Day 52023-12-05
This was a tough one… save for the datamanament that took a lot of time to figure out, I kind of got to the first answer pretty quickly… Then I refactored to suit part 2, which worked for the example, but would probably have taken days to brute force his way through the data. In the end I solved it by going the other way around; find the first location that has a seed assigned to it. This still took pretty long, but it was less than 30 minutes so good enough.
Advent of Code '23 - Day 42023-12-04
Today was easier. I managed to complete the first part in about 20 minutes, which could have been shorter if I'd discovered that empty record at the end of my dataset sooner. The second part took a bit longer, but that was mainly due to the longer runtime of this script… I don't think this method is the best way to address this issue but I'm drawing a blank on how to solve it properly.
Advent of Code '23 - day 32023-12-03
This might be one of the last days I'll be using elisp. The puzzles are taking longer to solve and I don't really forsee lots of free time in the coming week. The first part went pretty quickly. The second deserved a completely new approach, where I'd search for all stars first, and (rather ugly) look for neighboring numbers.
Advent Of Code '23 - day 022023-12-02
This took me way too long. After struggling for hours with regexps in elisp I decided to stop using them completely and just do some string splitting instead. Part 2 was solved quickly as I could reuse the same datamodel from part 1.
Advent Of Code '23 - day 012023-12-01
I had already seen this first puzzle was harder then first day puzzles of previous years. There will probably be more elegant ways to solve these but for now I justed wanted to get them solved. I spent most of my time trying to get the regex match working, and fighting with my phone's keyboard. Yes, I coded this in Emacs running in Termux on my phone. Which isn't something I'd recommend anyone to do.