Solutions to the Advent of Code 2019 puzzles.
For part 2, I wrote the program analyse.py to find the path across the scaffolding. I then copy-and-pasted that into check.txt. Then I used a text editor to manually find repeating patterns in the path (it only took a few minutes to spot them). This was then used to figure out the input sent to the Intcode computer in part_2.py.
I found the solution by running part_2.py repeatedly, adjusting ship_x and ship_y by trial-and-error until the square fitted inside the beam.