https://github.com/nlowe/aoc2020
Advent of Code 2020 Solutions
https://github.com/nlowe/aoc2020
Last synced: 4 months ago
JSON representation
Advent of Code 2020 Solutions
- Host: GitHub
- URL: https://github.com/nlowe/aoc2020
- Owner: nlowe
- License: mit
- Created: 2020-11-30T09:18:02.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-12-05T09:53:20.000Z (over 4 years ago)
- Last Synced: 2024-06-20T17:49:38.891Z (almost 2 years ago)
- Language: Go
- Size: 213 KB
- Stars: 11
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Advent of Code 2020
[](https://github.com/nlowe/aoc2020/actions) [](https://coveralls.io/github/nlowe/aoc2020?branch=master) [](https://goreportcard.com/report/github.com/nlowe/aoc2020) [](./LICENSE)
Solutions for the 2020 Advent of Code
## Building
This project makes use of Go 1.15.
```bash
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:
```bash
$ 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/import.go`: A "glue" file combining commands for both of the day's problems to simplify wiring up subcommands
* `challenge/day/a.go`: The main problem implementation, containing a cobra command `A` and the implementation `func a(*challenge.Input) int`
* `challenge/day/a_test.go`: A basic test template
* `challenge/day/input.txt`: The challenge input
Additionally, `challenge/cmd/cmd.go` will be regenerated to import and add all
subcommands.
This requires `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.
## License
These solutions are licensed under the MIT License.
See [LICENSE](./LICENSE) for details.