Skip to content

Advent of Code solutions written in Kotlin

Notifications You must be signed in to change notification settings

Furisto/adventofcode

 
 

Repository files navigation

Advent of Code

https://adventofcode.com/

Open in Gitpod

Advent of Code solutions, written in Kotlin.

Solution framework

A small framework is created to speed up solving a day's puzzle:

  • Input is automatically read from the AoC API
  • Unit tests using each day's sample input to verify solutions
  • Answers are automatically uploaded and outcome is shown
  • Common package for utitilities and datastructures

Additionally, uses IntelliJ live templates:

  • Template to solve a day's puzzle
  • Template to unit test a solution with sample input

Or, run the following to generate a source + test file for a new day:

./workflow/new.sh <day> [<year>]

A GitHub Action is configured to run all unit tests on each commit.

Automatic answer submission

Using a session token for the Advent of Code API, the day's input is automatically read, and your solution is uploaded on each run with the outcome printed afterwards:

$ gradle run
Answer for 2022/3 level 2: '2581' (took 28ms)
Response: right answer!

No need to manually download inputs and upload your answers ⚡

Set up API session token

The session token needed to read input and upload answers can be set up as follows:

  • Log in on https://adventofcode.com/
  • Read the session cookie
  • Put its value in this file: .secrets/session (.gitignored)
    • Or set it as env var AOC_SESSION, e.g. in the Gitpod user settings to have it automatically used in Gitpod workspaces.

About

Advent of Code solutions written in Kotlin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 99.5%
  • Shell 0.5%