Thanks Homer.
I haven’t been parsing the input string character by character and instead have been parsing into native data structures. It makes the code more verbose but it’s how I want to do it. Unfortunately it does mean most of the time coming up with a solution is structuring the data so I’m hoping I come up with a faster way after a few days.
Yeah, I couldn’t see a nice approach today so I fell back on an existing Grid class I’ve used in previous years. Having those existing tools helps a lot.
I’m still working on my part 1 😭 string parsing makes me feel so stupid haha. But I’m adamant on coming up with a “nice” solution even if the number of lines aren’t minimal. I’ve got something quite nice at the moment and I anticipate coming in under 100 lines (including whitespace, comments, and formatting).
2D grids and parsing data from them in all manner of interesting ways is a real AoC staple.
I’m still hoping to be met with a problem at some point which can be solved by handling it as a type of funge program.
Oh indeed, but it’s normally quite straightforward in the first few days. Certainly my terrible solution today is longer than any in the first maybe 10 days of last year.
What’s a “funge program”? [edit, oh befunge-like I guess]
Yep, funge has been used to describe any kind of multi-dimensional programming language - often with self-modifying code, I’ve personally found both 3D and 4D funge languages.
There’s just something with the whole concept that amuses me, I’ve been trying to build some kind of funge-style programming puzzle game for a while now, but haven’t figured out a good hook to take it past being just a PoC yet.
I’m not sure whether to be intrigued or horrified at the idea of an AoC type challenge where we slowly build up a 4D “FungeCode” interpreter like 2019’s IntCode series (which I notice I still haven’t completed!)