So that I can find specific types of approach if I ever need them again.
-
C++ for day 22 - this was what finally helped me get it
Some of which, maybe, I might have had a wee peek at when I got stuck (but not before at least 24 hours of thinking).
C#, Python, Go
First day of the IntCode
machine.
C#, Python
Manhattan distance and shortest combined distance.
C#
Constraints on numeric passwords.
C#, Go
IntCode
with I/O and modes.
C#, Go
Basic graph and tree traversal. Shortest path between two nodes.
C#, Go
Multiple IntCode
machines. Solved with threading but threads weren't necessary. Concurrency, pipelines and permutations.
C#
Image layers.
C#
The IntCode
reaches its final state. Add relative base, ability to resize the memory and large integers.
C#, Go
Atan2, rotational geometry, angles and grids.
C#
IntCode
program to direct a robot to paint an image that results in a serial number/registration number.
C#, Go
LCM and factors. Notice that x, y, z dimensions are independent.
C#
Use the IntCode
machine to build a 'breakout' game and guide the paddle to 'win'/beat the game.
C#, Go
Binary search for part 2 but just did it by trial and error. Could have used recursive algorithms but went linear instead.
C#
Map exploring (DFS) & shortest paths (BFS) with the IntCode
machine to guide a robot.
C#, Go.
Signal processing. Spot pattern in the output to shortcut the final calculations.
C#
Use the IntCode
machine to direct a robot over scaffolding detecting intersections. Use string compression to provide a 'compressed' version of input commands. Used brute-force/visual inspection rather than programming in the compression algorithm.
C#
BFS for paths between keys (because it is a maze).
C#
IntCode
program to send a robot exploring a tractor beam.
C#
BFS on a maze with multiple levels.
C#, Go
Program the IntCode
machine to use logical AND OR NOT to guide a jumping robot around holes in the hull.
C#
The big, nasty, modular arithmetic one. Combining linear functions. Multiplicative inverse modulo m and all that.
C#
Use the IntCode
program to send 'network packets' back and forth between 50 IntCode
instances.
Used threading here but that probably made it harder (and, most likely, slower for the C# version) in the long run. The Go version, with channels and go routines is fast (and quite neat, I think!) but the C# version is very slow due to some messed up threading.
C#, Go
Basic Game of life in part 1 but then extended to recursive levels within levels for part 2. No recursion in the solution though.
C#, Go
IntCode
to explore ship (manually - like an old fashioned game), find items, find the right combination of items. By making the IntCode
threaded I made the solution to this problem much harder and slower than it could have been.
C#