Advent of Code 2021
Solutions for the 2021 Advent of Code
This project makes use of Go 1.17.
go mod download go test ./...
Running the Solutions
To run a solution, use the problem name followed by the path to an input file.
For example, to run problem 2a:
$ go run ./main.go 2a ./day2/input.txt Answer: 9633 Took 999.4µs
Adding New Solutions
A generator program is included that makes templates for each day, automatically
downloading challenge input and updating the root command to add new subcommands
for each problem. Running
go generate from the repo root will generate the
following for each day that is currently accessible:
challenge/day<N>/import.go: A “glue” file combining commands for both of the day’s problems to simplify wiring up subcommands
challenge/day<N>/a.go: The main problem implementation, containing a cobra command
Aand the implementation
func a(*challenge.Input) int
challenge/day<N>/a_test.go: A basic test template
challenge/day<N>/input.txt: The challenge input
challenge/cmd/cmd.go will be regenerated to import and add all
goimports be available on your
$PATH. Additionally, you must be
logged into https://adventofcode.com in Chrome so the generator can use your session
cookie to download challenge input.
Existing solutions and challenge inputs will be skipped instead of regenerated.
These solutions are licensed under the MIT License.
See LICENSE for details.