This year I'm going to use Golang to solve the puzzles.
To run a particular solution, for example day 1, use the following command:
go run cmd/day01/main.go
The last column contains improved solutions inspired by solutions of other people.
Day | Problem | Solution | Improved Solution |
---|---|---|---|
1 | Trebuchet?! | day01 | day01 |
2 | Cube Conundrum | day02 | |
3 | Gear Ratios | day03 | day03 |
4 | Scratchcards | day04 | |
5 | If You Give A Seed A Fertilizer | day05 | |
6 | Wait For It | day06 | |
7 | Camel Cards | day07 | |
8 | Haunted Wasteland | day08 | day08 |
9 | Mirage Maintenance | day09 | |
10 | Pipe Maze | day10 | |
11 | Cosmic Expansion | day11 | |
12 | Hot Springs | day12 | |
13 | Point of Incidence | day13 | |
14 | Parabolic Reflector Dish | day14 | |
15 | Lens Library | day15 | |
16 | The Floor Will Be Lava | day16 | |
17 | Clumsy Crucible | day17 | |
18 | Lavaduct Lagoon | day18 | |
19 | Aplenty | day19 | |
20 | Pulse Propagation | day20 | |
21 | Step Counter | day21 | |
22 | Sand Slabs | day22 | |
23 | A Long Walk | day23 | |
24 | Never Tell Me The Odds | day24 | |
25 | Snowverload | day25 |
The documentation for the standard library can be viewed using godoc
.
First, install the godoc
tool:
go install golang.org/x/tools/cmd/godoc@latest
Next, run the following command to start the documentation server:
godoc -http=:6060
Finally, open a browser with the following URL: http://localhost:6060/.
If the godoc
binary cannot be found, make sure to add $GOPATH/bin
to $PATH
:
export PATH="$PATH:$(go env GOPATH)/bin"