My Advent of Code solutions for 2020-2024
Find a file
2023-12-02 00:00:38 +00:00
challenges 2023.01.1 in Haskell 2023-12-02 00:00:38 +00:00
templates Add Haskell template 2023-12-01 23:30:20 +00:00
.gitignore Add challenge day setup functionality 2023-11-29 10:42:49 +00:00
LICENSE Update LICENSE 2022-12-02 12:27:34 +00:00
README.md Fix wording 2023-11-27 23:05:40 +00:00
run Fix runner for day 1 2023-12-01 10:56:35 +00:00

Advent of Code 🎄

Jump to: 2020 - 2021 - 2022 - 2023

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.

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.

  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.