Awesome Advent of Code
This is a collection of awesome resources related to the yearly Advent of Code challenge.
- The Official AoC Website
- The AoC Subreddit
- Project Templates
- Tools and Utilities
- Other Advent Calendars
- 2018
- 2019
- 2020
- 2021
- 2022
- Solutions
- Ada
- APL
- Assembly
- AWK
- Bash
- BQN
- C
- C#
- C++
- Clojure
- Common Lisp
- Crystal
- D
- Dart
- Elixir
- Elm
- Emacs
- Erlang
- Excel
- F#
- Go
- Groovy
- Hamler
- Haskell
- Haxe
- HolyC
- Hoon
- Idris
- J
- Java
- JavaScript
- jq
- Julia
- Kotlin
- LDPL
- Lua
- MATLAB
- Nim
- Objective-C
- OCaml
- PHP
- Perl
- Pony
- PowerShell
- Prolog
- Python
- R
- Racket
- Raku
- ReasonML
- Red
- REXX
- Ruby
- Rust
- Smalltalk
- Scala
- Scheme
- Solidity
- SpectX
- SQL
- Standard ML
- Swift
- TypeScript
- Unison
- VB.NET
- Whitespace
- Zig
- Zsh
- Live Streams
- Solutions
Project Templates
Templates, cookiecutters and skeletons for quickly setting up projects in your favourite language.
- AlexeSimon/adventofcode (Python)
- Jadarma/advent-of-code-kotlin (Kotlin)
- Kaitachi/ChallengeStarter (Swift)
- Reason Starter kit for Advent of Code (Reason and OCaml)
- S-ecki/AdventOfCode-Starter-Dart (Dart)
- SpexGuy/Zig-AoC-Template (Zig)
- UncleCJ/advent-of-code (Jupyter Python Notebooks)
- advent-of-code-template (PHP)
- alvesvaren/AoC-template (Python)
- amorriscode/advent-of-code (JavaScript)
- arkadye/advent_of_code (C++)
- caderek/aoc-starter-js (JavaScript)
- caderek/aoc-starter-ts (TypeScript)
- dave-burke/advent-of-code-java-starter (Java)
- eduherminio/AdventOfCode.Template (C#)
- fspoettel/advent-of-code-rust (Rust)
- gahjelle/template-aoc-python (Python)
- gobanos/cargo-aoc (Rust)
- hughjdavey/aoc-kotlin-starter (Kotlin)
- ismtabo/advent-of-code-deno-template (TypeScript / Deno)
- izexi/aoc-ts-template (TypeScript)
- jjcomer/aoc-helper (Clojure)
- kindermoumoute/adventofcode (Go)
- kotlin-hands-on/advent-of-code-kotlin-template (Kotlin)
- mMosiur/AdventOfCodeDayTemplate (C#)
- mariotacke/template-advent-of-code (JavaScript)
- mhanberg/advent-of-code-clojure-starter (Clojure)
- mhanberg/advent-of-code-elixir-starter (Elixir)
- nickyvanurk/advent-of-code-rust-template (Rust)
- nnari/aoc-typescript-starter (TypeScript)
- pacso/aoc_rb (Ruby)
- sindrekjr/AdventOfCodeBase (C#)
- staylorwr/elixir_aoc (Elixir)
- tomfran/advent-of-code-setup (Python)
- wizardofzos/aoc2021 (Flask-API, Python running REXX on Mainframes)
Tools and Utilities
- Browser extension for private leaderboard visualization
- Browser extension which enhances your personal stats page with a time from Part 1 to Part 2 column (it also tracks when you've first opened a puzzle and offsets the completion times accordingly)
- Browser extension (open source) enhancing private leaderboards with a "medals/podium" chart per day, Part 1 to Part 2 overview, and several other charts for your leaderboard
- Globals medals overview -- Alternative global leaderboard showing first, second and third places as gold, silver and bronze medals.
- Scatterplot of first 100 -- Scatterplot of the time taken to solve the parts of each puzzle by the first 100 people that solved it.
- aocdl -- Command-line utility that automatically downloads your personal input file while you read the puzzle description (Go).
- aocinput -- CLI for getting inputs. Clipboard support. Polite to AoC. Nice help and options. (Go)
- aoc_rb -- A Ruby gem that generates an empty AoC project, and provides command-line tools for fetching input and submitting solutions (Ruby)
- aoc-cli -- Command-line utility that helps solve problems in ruby: it downloads your personal input file, creates the sample source files and benchmarks your solutions (Ruby).
- AoCHelper -- NuGet library that simplifies puzzle solving and provides benchmarking (.NET).
- AdventOfCode.Runner -- NuGet package that automatically provides your puzzles solvers with the input from the AOC site and verifies calculated answers (.NET / C#).
- aocleaderboard -- get over the 200-member limit for private leaderboards and combine multiple leaderboards in a single page with recalculated scores.
- advent-of-code-api -- Haskell library for querying AOC prompts, inputs, and leaderboards (Haskell)
- advent-of-code-ocr -- Command line utility and Haskell library for parsing AoC ascii art words (Haskell)
- advent-of-code-ocr -- Python module for parsing AoC ascii art words (Python)
- aoc-ranking -- Show all non-zero score AoC participants in one, global scoreboard. (Python)
- aoc-cli -- Read puzzle descriptions, download input, and submit answers from the comfort of your terminal. (Rust)
- adventofcode-badge -- An interface over Shields.io to facilitate the creation of badges from Advent of Code.
- @aocjs/cli -- Package for executing solutions with hot reload and data fetching (JavaScript, TypeScript)
- eggnog -- CLI for getting input, directions (with nice colors!), and submitting answers. Caches absolutely everything. (C)
- aoc-badges-action -- A GitHub action for updating various aoc-related badges in your README (GitHub Action, Python)
- advent-readme-stars -- A GitHub action that adds and maintains a table of your AoC progress to your README (GitHub Action, Python)
- aoctimer -- A language-agnostic, multiplatform tool to measure your solution time in relative units, so you can share and compare your results with others.
- aocrunner -- A fast solutions runner and template generator, with simple CLI, customizable template, simple testing utility, live reload, and adventofcode.com integration. (JavaScript, TypeScript)
- advent-of-code-client -- A Node.js package for fetching inputs, running puzzle challenges and submitting answers to adventofcode.com directly from your JavaScript code. Also includes some commonly used & customizable input transformation functions. (JavaScript)
- AoC-execution-time-table-generator -- A C++20 tool to generate an execution time table for both parts of each AoC day, based on input file with time details.
- aocf -- A CLI tool (and also, optionally, crate) written in Rust, with a CLI inspired by git. Problem briefs may be displayed in a scrollable ANSI terminal (mostly) faithful to the AoC website.
- AdventOfCodeAbstractions -- A NuGet package that contains extendable abstractions and generalized helpers to simplify and streamline .NET AoC puzzle solving. (C#)
- aocd -- A template generator and library for solving AoC with Deno that handles input fetching and solution submitting. (TypeScript / Deno)
- advent_of_code_utils -- Input fetcher and boilerplate generator for those solving AoC in Elixir. (Elixir)
- Advent of Code Surveys (Results Dashboard) -- Dashboard with charts and data tables showing the results of the yearly Advent of Code Survey
Other Advent Calendars
24 days of cool stuff regarding .
2022
WARNING: All of these likely contain spoilers.
Read CONTRIBUTING.md to learn how to add your own repos.
Solutions
Ada
Solutions to AoC in Ada.
APL
Solutions to AoC in APL.
Assembly
Solutions to AoC in Assembly.
AWK
Solutions to AoC in AWK.
Bash
Solutions to AoC in Bash.
BQN
Solutions to AoC in BQN.
C
Solutions to AoC in C.
- Sebbl0508/advent-of-code-2022
- derpicknicker1/AdventOfCode2022
- edogenna/Advent-of-Code
- happycoder74/adventofcode
- Jamesbarford/aoc-2022
C#
Solutions to AoC in C#.
- ShootMe/AdventOfCode
- Virenbar/AdventOfCode
- eduherminio/AoC2022
- encse/adventofcode
- mMosiur/AdventOfCode2022
- p-kostic/AdventOfCode20xx
- sanderploegsma/advent-of-code
- warriordog/advent-of-code-2022
C++
Solutions to AoC in C++.
- Bot-Kerem/advent-of-code
- JakobSachs/AoC22
- JanHeist/AdventOfCode2022
- JaroPaska/aoc22
- arkadye/adventofcode2022
- bg2b/aoc22
- dfm/adventofcode
- osalbahr/adventofcode
- python-b5/advent-of-code-2022
- tbeu/AdventOfCode
- vss2sn/advent_of_code
Clojure
Solutions to AoC in Clojure.
Common Lisp
Solutions to AoC in Common Lisp.
Crystal
Solutions to AoC in Crystal.
D
Solutions to AoC in D.
Dart
Solutions to AoC in Dart.
Elixir
Solutions to AoC in Elixir.
Elm
Solutions to AoC in Elm and Literate Elm.
Emacs Lisp
Solutions to AoC in Emacs Lisp (elisp).
Erlang
Solutions to AoC in Erlang.
Excel
Solutions to AoC in Excel.
F#
Solutions to AoC in F#.
Go
Solutions to AoC in Go.
- BaptisteLalanne/AdventOfCode
- Christheoreo/advent-of-code-2022
- FloSchl8/advent-of-code-2022
- RezaSi/adventofcode
- codemicro/adventOfCode
- dergeberl/aoc
- gdjohn4s/adventOfcode
- iusetabs/advent-of-code-22-go
- jcockbain/advent-of-code
- lynerist/Advent-of-code-2022-golang
- nicko170/aoc-2022
- pemoreau/advent-of-code
- pin2t/aoc2022
- pvainio/adventofcode
- shpikat/advent-of-code-2022
- shytikov/advent-of-go
- zbyju/advent-of-code
- alokmenghrajani/adventofcode2022
Groovy
Solutions to AoC in Groovy.
Hamler
Solutions to AoC in Hamler.
Haskell
Solutions to AoC in Haskell.
- JakobSachs/AoC22
- clatisus/advent-of-code-y2022
- ephemient/aoc2022
- prikhi/advent-of-code-2022
- slotThe/advent2022
Haxe
Solutions to AoC in Haxe.
HolyC
Solutions to AoC in HolyC (TempleOS).
Hoon
Solutions to AoC in Hoon (Urbit).
Idris
Solutions to AoC in Idris.
J
Solutions to AoC in J.
Java
Solutions to AoC in Java.
JavaScript
Solutions to AoC in JavaScript.
- adamczarnecki/advent_of_code_2022
- colourgarden/advent-of-code
- elilambnz/adventofcode
- erikw/advent-of-code-solutions
- fones/advent_of_code_2022
- kaelri/advent-of-code-2022
- msarfer/advent-of-code
- rico-vz/advent-of-code-2022
- thejan14/adventofcode2022
- topener/adventofcode
jq
Solutions to AoC in jq.
Julia
Solutions to AoC in Julia.
- DaniGlez/aoc2022
- DarthGandalf/advent-of-code
- Internal-Tide/Advent-of-Code-2022-Julia-
- goggle/AdventOfCode2022.jl
- iskyd/advent-of-code-julia
Kotlin
Solutions to AoC in Kotlin.
- 7rebux/advent-of-code-2022
- ArpitShukIa/AdventOfCode2022
- ClouddJR/advent-of-code-2022
- Giuliopime/advent-of-code-2022
- James-Ansley/adventofcode
- LiquidFun/adventofcode
- agrison/advent-of-code
- askeron/advent-of-code-kotlin-2022
- csj/advent-of-code-2022
- edgars-supe/advent-of-code
- ephemient/aoc2022
- hughjdavey/aoc-2022
- nsirons/programming-puzzles
LDPL
Solutions to AoC in LDPL.
Lua
Solutions to AoC in Lua.
MATLAB
Solutions to AoC in MATLAB (Octave).
Nim
Solutions to AoC in Nim.
Objective-C
Solutions to AoC in Objective-C.
OCaml
Solutions to AoC in OCaml.
PHP
Solutions to AoC in PHP.
Perl
Solutions to AoC in Perl.
Pony
Solutions to AoC in Pony.
Prolog
Solutions to AoC in Prolog.
PowerShell
Solutions to AoC in PowerShell.
Python
Solutions to AoC in Python.
- AlexZeGamer/advent-of-code
- Derailed-Dash/Advent-of-Code
- Epithumia/aoc2022
- Goldenlion5648/AdventOfCode2022
- James-Ansley/adventofcode
- JasonCannon/advent-of-code-2022
- KevinL10/advent-of-code
- Kokopak/advent-2022
- MasterMedo/aoc
- MichalMarsalek/Advent-of-code
- NimVek/advent-of-code
- alihacks/advent-of-code
- benediktwerner/AdventOfCode
- blackfisch/advent-of-code-blackfisch
- codemicro/adventOfCode
- corbanvilla/adventofcode
- coutego/advent-of-code-2022
- dionyziz/advent-of-code
- ephemient/aoc2022
- filipmlynarski/Advent-of-Code
- fridokus/advent-of-code
- fuglede/adventofcode
- gahjelle/advent_of_code
- gamma032steam/advent-of-code
- happycoder74/adventofcode
- hatimbook/AdventofCode2022
- iKevinY/advent
- kermitnirmit/Advent-of-Code-2022
- kresimir-lukin/AdventOfCode2022
- mebeim/aoc
- nitekat1124/advent-of-code-2022
- orfeasa/advent-of-code-2022
- r0f1/adventofcode2022
- racinmat/advent_of_code_2022
- rolandcsosz/advent-of-code-22
- samoshan/adventofcode
- taddeus/advent-of-code
- tomfran/advent-of-code
- viliampucik/adventofcode
- zedrdave/advent_of_code
R
Solutions to AoC in R.
Racket
Solutions to AoC in Racket.
Raku
Solutions to AoC in Raku.
ReasonML
Solutions to AoC in ReasonML.
Red
Solutions to AoC in Red.
REXX
Solutions to AoC in REXX.
Ruby
Solutions to AoC in Ruby.
Rust
Solutions to AoC in Rust.
- Basicprogrammer10/Advent-Of-Code
- Epithumia/aoc2022
- SvetlinZarev/advent-of-code
- ZAZPRO/adventofcode-2022
- believer/advent-of-code
- bertptrs/adventofcode
- cadolphs/aoc_2022
- dellink/advent-of-code
- ephemient/aoc2022
- ericwburden/advent_of_code_2022
- fspoettel/advent-of-code-2022
- hashedone/aoc-2022
- joinemm/advent-of-code-2022
- kkaosninja/AdventOfCode2022-Rust
- martinif/adventofcode2022
- naschidaniel/advent-of-code-2022
- nepalez/aoc2022
- ofersadan85/advent_of_code
- rajesh-rahul/advent-of-code
- sivertjoe/Advent-of-Code
- slotThe/advent2022
- webbiscuit/adventofcode_rust
- zargony/advent-of-code-2022
- zsacul/AdventOfCode2022
- sinitame/adventofcode-2022
Smalltalk
Solutions to AoC in Smalltalk.
Scala
Solutions to AoC in Scala.
Scheme
Solutions to AoC in Scheme.
Solidity
Solutions to AoC in Solidity.
SpectX
Solutions to AoC in SpectX.
SQL
Solutions to AoC in SQL.
Standard ML
Solutions to AoC in Standard ML.
Swift
Solutions to AoC in Swift.
- Kaitachi/CodeChallenges
- bence-t0th/Advent-of-Code-2022
- fguchelaar/AdventOfCode2022
- gereons/AoC2022
- pin2t/aoc2022
TypeScript
Solutions to AoC in TypeScript.
- AlexAegis/advent-of-code
- KapitanKAPSLOK/advent-of-code-2022
- MartinSeeler/advent-of-code-next
- Totto16/AOC-2022
- adamczarnecki/advent_of_code_2022
- bonnici/advent-of-code-ts
- deko95/aoc-2022-ts
- pstachula-dev/advent-of-code
- serginator/adventofcode2022
Deno
Solutions to AoC in Deno (TypeScript).
Unison
Solutions to AoC in Unison.
VB.NET
Whitespace
Solutions to AoC in Whitespace.
Zig
Solutions to AoC in Zig.
Zsh
Solutions to AoC in Zsh.
Live Streams
Folks who are live streaming their process.