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
- Solutions
- Ada
- Assembly
- AWK
- Bash
- C
- C#
- C++
- Clojure
- Common Lisp
- Crystal
- D
- Dart
- Elixir
- Elm
- Erlang
- F#
- Go
- Groovy
- Hamler
- Haskell
- Haxe
- 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
- Ruby
- Rust
- Smalltalk
- Scala
- Scheme
- SpectX
- SQL
- Swift
- TypeScript
- Unison
- VB.NET
- Zig
- Live Streams
- Solutions
Templates, cookiecutters and skeletons for quickly setting up projects in your favourite language.
- Reason Starter kit for Advent of Code (Reason and OCaml)
- dave-burke/advent-of-code-java-starter (Java)
- gobanos/cargo-aoc (Rust)
- nickyvanurk/advent-of-code-rust-template (Rust)
- hughjdavey/aoc-kotlin-starter (Kotlin)
- codemicro/adventOfCode (Go, Python)
- kindermoumoute/adventofcode (Go)
- staylorwr/elixir_aoc (Elixir)
- mhanberg/advent-of-code-elixir-starter (Elixir)
- AlexeSimon/adventofcode (Python)
- UncleCJ/advent-of-code (Jupyter Python Notebooks)
- sindrekjr/AdventOfCodeBase (C#)
- mhanberg/advent-of-code-clojure-starter (Clojure)
- caderek/aoc-starter-js (JavaScript)
- caderek/aoc-starter-ts (TypeScript)
- mariotacke/template-advent-of-code (JavaScript)
- arkadye/advent_of_code (C++)
- eduherminio/AdventOfCode.Template (C#)
- izexi/aoc-ts-template (TypeScript)
- advent-of-code-template (PHP)
- amorriscode/advent-of-code (JavaScript)
- nnari/aoc-typescript-starter TypeScript
- Alfie -- Online JS editor that helps users solve AoC problems.
- 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)
- 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-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).
- 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)
24 days of cool stuff regarding .
WARNING: All of these likely contain spoilers.
Read CONTRIBUTING.md to learn how to add your own repos.
Solutions to AoC in Ada.
Solutions to AoC in Assembly.
Solutions to AoC in AWK.
Solutions to AoC in Bash.
Solutions to AoC in C.
Solutions to AoC in C#.
Solutions to AoC in C++.
Solutions to AoC in Clojure.
Solutions to AoC in Common Lisp.
Solutions to AoC in Crystal.
Solutions to AoC in D.
Solutions to AoC in Dart.
Solutions to AoC in Elixir.
Solutions to AoC in Elm and Literate Elm.
Solutions to AoC in Erlang.
Solutions to AoC in F#.
Solutions to AoC in Go.
Solutions to AoC in Groovy.
Solutions to AoC in Hamler.
Solutions to AoC in Haskell.
Solutions to AoC in Haxe.
Solutions to AoC in Idris.
Solutions to AoC in J.
Solutions to AoC in Java.
Solutions to AoC in JavaScript.
Solutions to AoC in jq.
Solutions to AoC in Julia.
Solutions to AoC in Kotlin.
Solutions to AoC in LDPL.
Solutions to AoC in Lua.
Solutions to AoC in MATLAB (Octave).
Solutions to AoC in Nim.
Solutions to AoC in Objective-C.
Solutions to AoC in OCaml.
Solutions to AoC in PHP.
Solutions to AoC in Perl.
Solutions to AoC in Pony.
Solutions to AoC in Prolog.
Solutions to AoC in PowerShell.
Solutions to AoC in Python.
Solutions to AoC in R.
Solutions to AoC in Racket.
Solutions to AoC in Raku.
Solutions to AoC in ReasonML.
Solutions to AoC in Red.
Solutions to AoC in Ruby.
Solutions to AoC in Rust.
Solutions to AoC in Smalltalk.
Solutions to AoC in Scala.
Solutions to AoC in Scheme.
Solutions to AoC in SpectX.
Solutions to AoC in SQL.
Solutions to AoC in Swift.
Solutions to AoC in TypeScript.
Solutions to AoC in Deno (TypeScript).
Solutions to AoC in Unison.
Solutions to AoC in VB.NET.
Solutions to AoC in Zig.
Folks who are live streaming their process.