My Advent of Code solutions for 2020-2024
Find a file
2022-12-22 19:53:42 +00:00
challenges Add benchmarks for 2022-10 2022-12-22 19:53:11 +00:00
lib Add min_max to aocpy 2022-12-22 19:50:57 +00:00
runtime Code formatting 2022-12-21 17:12:28 +00:00
template Code formatting 2022-12-21 17:12:28 +00:00
.gitignore Add tool to fetch inputs 2021-12-20 21:05:27 +00:00
generate-benchmark-graph.py Update generate-benchmark-graph.py 2022-12-22 19:53:42 +00:00
get-input.py Update get-input.py 2022-12-17 22:38:13 +00:00
go.mod Alter 9 files 2022-11-27 02:08:08 +00:00
go.sum Prepare for 2022 2022-11-06 00:43:07 +00:00
LICENSE Update LICENSE 2022-12-02 12:27:34 +00:00
README.md Prepare for 2022 2022-11-06 00:43:07 +00:00
requirements.txt Add requirements.txt 2022-12-16 01:59:35 +00:00

Advent of Code 🎄

Jump to: 2020 - 2021 - 2022

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

Running solutions

The method of running solutions varies by year.

All years other than 2020

Solutions to other years' 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.

  1. cd to the challenge directory eg: cd challenges/2020/05-binaryBoarding
  2. Run the desired implementation
    • For Python, run python3 ./py
    • For Go, run go run ./go

Dependencies for 2020 challenges are not neatly defined anywhere, so determing and installing the correct ones is an exercise for the reader.