Jump to: 2020 - 2021 - 2022 - 2023 - 2024
Solutions to Advent of Code challenges.
Puzzle inputs and descriptions are not included in this repository. You'll have to get these yourself from the AoC website. Here's why.
AoC website - AoC subreddit - AoC awesome list
The method of running solutions varies by year.
From 2023 onwards
Use the ./aoc
script and provide it with the filename of the file you would like to run. For example, ./aoc run challenges/01-trebuchet/main.py
.
Alternatively, run the code directly. Provide it with an input via stdin and set the first command line argument to be either 1
or 2
to run either part 1 or 2 respectively. This should go for all languages.
2021 and 2022
In order to run solutions from 2021 and 2022, you should switch to the 2022
branch first.
Solutions to 2021's and 2022's solutions are run via the runner program contained in ./runtime
.
To run a solution, run go run github.com/codemicro/adventOfCode/runtime
and follow the on-screen prompts. Configurisation options can be seen by running with the --help
flag.
A benchmark graph can be generated using generate-benchmark-graph.py
as follows: python3 generate-benchmark-graph.py <output file> <year>
.
For example, to generate a graph for the 2021 benchmarks and save it to challenges/2021/running-times.png
, you can run python3 generate-benchmark-graph.py challenges/2021/running-times.png 2021
.
2020
In 2020, all solutions are in Python and/or Go.
cd
to the challenge directory eg:cd challenges/2020/05-binaryBoarding
- Run the desired implementation
- For Python, run
python3 ./py
- For Go, run
go run ./go
- For Python, run
Dependencies for 2020 challenges are not neatly defined anywhere, so determing and installing the correct ones is an exercise for the reader.