This repo contains the solutions for my path of Advent of Code 2016. I complete AoC to get familiar with a technology, its build tools and testing tools, it's kind of a mini-production type workflow I follow.
In this year I chose to use the following tools:
- Kotlin v1.9.20. Language for this year's AOC.
- Gradle v8.1.1. Build tool for Kotlin projects.
- Spotless v6.25.0. Also using the Ktlint formatting configuration v1.1.1.
- Detekt v1.23.3. Code analysis tool which is useful for finding bugs.
- Kotlin JUnit. Unit test framework with a Kotlin flavour.
All development was completed using IntelliJ which is an awesome development environment.
There is a small setup script that copies the projects pre-commit file to the hooks
folder of the project's repo. This needs to be run after the project is cloned only.
$ ./gradlew initProject
$ ./gradlew build
$ ./gradlew check
The pre-commit hook should kick-in, when it does it will run spotless
and detekt
$ git add --all
$ git commit -a
Challenge | Task 1 | Task 2 | |
---|---|---|---|
Day 01 | No Time for a Taxicab | 🌟 | 🌟 |
Day 02 | Bathroom Security | 🌟 | 🌟 |
Day 03 | Squares With Three Sides | 🌟 | 🌟 |
Day 04 | Security Through Obscurity | 🌟 | 🌟 |
Day 05 | How About a Nice Game of Chess? | 🌟 | 🌟 |
Day 06 | Signals and Noise | 🌟 | 🌟 |
Day 07 | Internet Protocol Version 7 | 🌟 | 🌟 |
Day 08 | Two-Factor Authentication | 🌟 | 🌟 |
Day 09 | Explosives in Cyberspace | 🌟 | 🌟 |
Day 10 | Balance Bots | 🌟 | 🌟 |
Day 11 | Radioisotope Thermoelectric Generators | 🌟 | 🌟 |
Day 12 | Leonardo's Monorail | 🌟 | 🌟 |
Day 13 | A Maze of Twisty Little Cubicles | 🌟 | 🌟 |
Day 14 | One-Time Pad | 🌟 | 🌟 |
Day 15 | Timing is Everything | 🌟 | 🌟 |
Day 16 | Dragon Checksum | 🌟 | 🌟 |
Day 17 | Two Steps Forward | 🌟 | 🌟 |
Day 18 | Like a Rogue | 🌟 | 🌟 |
Day 19 | An Elephant Named Joseph | 🌟 | 🌟 |
Day 20 | Firewall Rules | 🌟 | 🌟 |
Day 21 | Scrambled Letters and Hash | 🌟 | 🌟 |
Day 22 | Grid Computing | 🌟 | 🌟 |
Day 23 | Safe Cracking | 🌟 | 🌟 |
Day 24 | Air Duct Spelunking | 🌟 | 🌟 |
Day 25 | Clock Signal | 🌟 | 🌟 |