advent-of-code-scala
advent-of-code-scala copied to clipboard
Complete 2022 to 2015 entries for the annual Advent of Code challenge, written in concise idiomatic functional Scala.
Advent of Code 
Complete 2022 to 2015 entries for the annual Advent of Code challenge, written in concise idiomatic functional Scala.
Features
As far as possible, each day's solution embraces the following approaches:
- Self-contained within a single file, depending only on the standard Scala library.
- Immutable data structures, using copy-on-write to update.
- Pure functions with side effects, such as printing to the screen, restricted to a single
mainmethod.
The minimal SBT project provides:
- Straightforward consistent layout of code, resources and tests.
- Unit test coverage based on the sample input.
- Continuous integration using GitHub Actions.
Years
- 2022
- 2021
- 2020
- 2019
- 2018
- 2017
- 2016
- 2015
2022
| Day | Problem | Solution |
|---|---|---|
| 1 | Calorie Counting | Source |
| 2 | Rock Paper Scissors | Source |
| 3 | Rucksack Reorganization | Source |
| 4 | Camp Cleanup | Source |
| 5 | Supply Stacks | Source |
| 6 | Tuning Trouble | Source |
| 7 | No Space Left On Device | Source |
| 8 | Treetop Tree House | Source |
| 9 | Rope Bridge | Source |
| 10 | Cathode-Ray Tube | Source |
| 11 | Monkey in the Middle | Source |
| 12 | Hill Climbing Algorithm | Source |
| 13 | Distress Signal | Source |
| 14 | Regolith Reservoir | Source |
| 15 | Beacon Exclusion Zone | Source |
| 16 | Proboscidea Volcanium | Source |
| 17 | Pyroclastic Flow | Source |
| 18 | Boiling Boulders | Source |
| 19 | Not Enough Minerals | Source |
| 20 | Grove Positioning System | Source |
| 21 | Monkey Math | Source |
| 22 | Monkey Map | Source |
| 23 | Unstable Diffusion | Source |
| 24 | Blizzard Basin | Source |
| 25 | Full of Hot Air | Source |
2021
| Day | Problem | Solution |
|---|---|---|
| 1 | Sonar Sweep | Source |
| 2 | Dive! | Source |
| 3 | Binary Diagnostic | Source |
| 4 | Giant Squid | Source |
| 5 | Hydrothermal Venture | Source |
| 6 | Lanternfish | Source |
| 7 | The Treachery of Whales | Source |
| 8 | Seven Segment Search | Source |
| 9 | Smoke Basin | Source |
| 10 | Syntax Scoring | Source |
| 11 | Dumbo Octopus | Source |
| 12 | Passage Pathing | Source |
| 13 | Transparent Origami | Source |
| 14 | Extended Polymerization | Source |
| 15 | Chiton | Source |
| 16 | Packet Decoder | Source |
| 17 | Trick Shot | Source |
| 18 | Snailfish | Source |
| 19 | Beacon Scanner | Source |
| 20 | Trench Map | Source |
| 21 | Dirac Dice | Source |
| 22 | Reactor Reboot | Source |
| 23 | Amphipod | Source |
| 24 | Arithmetic Logic Unit | Source |
| 25 | Sea Cucumber | Source |
2020
| Day | Problem | Solution |
|---|---|---|
| 1 | Report Repair | Source |
| 2 | Password Philosophy | Source |
| 3 | Toboggan Trajectory | Source |
| 4 | Passport Processing | Source |
| 5 | Binary Boarding | Source |
| 6 | Custom Customs | Source |
| 7 | Handy Haversacks | Source |
| 8 | Handheld Halting | Source |
| 9 | Encoding Error | Source |
| 10 | Adapter Array | Source |
| 11 | Seating System | Source |
| 12 | Rain Risk | Source |
| 13 | Shuttle Search | Source |
| 14 | Docking Data | Source |
| 15 | Rambunctious Recitation | Source |
| 16 | Ticket Translation | Source |
| 17 | Conway Cubes | Source |
| 18 | Operation Order | Source |
| 19 | Monster Messages | Source |
| 20 | Jurassic Jigsaw | Source |
| 21 | Allergen Assessment | Source |
| 22 | Crab Combat | Source |
| 23 | Crab Cups | Source |
| 24 | Lobby Layout | Source |
| 25 | Combo Breaker | Source |
2019
| Day | Problem | Solution |
|---|---|---|
| 1 | The Tyranny of the Rocket Equation | Source |
| 2 | 1202 Program Alarm | Source |
| 3 | Crossed Wires | Source |
| 4 | Secure Container | Source |
| 5 | Sunny with a Chance of Asteroids | Source |
| 6 | Universal Orbit Map | Source |
| 7 | Amplification Circuit | Source |
| 8 | Space Image Format | Source |
| 9 | Sensor Boost | Source |
| 10 | Monitoring Station | Source |
| 11 | Space Police | Source |
| 12 | The N-Body Problem | Source |
| 13 | Care Package | Source |
| 14 | Space Stoichiometry | Source |
| 15 | Oxygen System | Source |
| 16 | Flawed Frequency Transmission | Source |
| 17 | Set and Forget | Source |
| 18 | Many-Worlds Interpretation | Source |
| 19 | Tractor Beam | Source |
| 20 | Donut Maze | Source |
| 21 | Springdroid Adventure | Source |
| 22 | Slam Shuffle | Source |
| 23 | Category Six | Source |
| 24 | Planet of Discord | Source |
| 25 | Cryostasis | Source |
2018
| Day | Problem | Solution |
|---|---|---|
| 1 | Chronal Calibration | Source |
| 2 | Inventory Management System | Source |
| 3 | No Matter How You Slice It | Source |
| 4 | Repose Record | Source |
| 5 | Alchemical Reduction | Source |
| 6 | Chronal Coordinates | Source |
| 7 | The Sum of Its Parts | Source |
| 8 | Memory Maneuver | Source |
| 9 | Marble Mania | Source |
| 10 | The Stars Align | Source |
| 11 | Chronal Charge | Source |
| 12 | Subterranean Sustainability | Source |
| 13 | Mine Cart Madness | Source |
| 14 | Chocolate Charts | Source |
| 15 | Beverage Bandits | Source |
| 16 | Chronal Classification | Source |
| 17 | Reservoir Research | Source |
| 18 | Settlers of The North Pole | Source |
| 19 | Go With The Flow | Source |
| 20 | A Regular Map | Source |
| 21 | Chronal Conversion | Source |
| 22 | Mode Maze | Source |
| 23 | Experimental Emergency Teleportation | Source |
| 24 | Immune System Simulator 20XX | Source |
| 25 | Four-Dimensional Adventure | Source |
2017
| Day | Problem | Solution |
|---|---|---|
| 1 | Inverse Captcha | Source |
| 2 | Corruption Checksum | Source |
| 3 | Spiral Memory | Source |
| 4 | High-Entropy Passphrases | Source |
| 5 | A Maze of Twisty Trampolines, All Alike | Source |
| 6 | Memory Reallocation | Source |
| 7 | Recursive Circus | Source |
| 8 | I Heard You Like Registers | Source |
| 9 | Stream Processing | Source |
| 10 | Knot Hash | Source |
| 11 | Hex Ed | Source |
| 12 | Digital Plumber | Source |
| 13 | Packet Scanners | Source |
| 14 | Disk Defragmentation | Source |
| 15 | Dueling Generators | Source |
| 16 | Permutation Promenade | Source |
| 17 | Spinlock | Source |
| 18 | Duet | Source |
| 19 | A Series of Tubes | Source |
| 20 | Particle Swarm | Source |
| 21 | Fractal Art | Source |
| 22 | Sporifica Virus | Source |
| 23 | Coprocessor Conflagration | Source |
| 24 | Electromagnetic Moat | Source |
| 25 | The Halting Problem | Source |
2016
| Day | Problem | Solution |
|---|---|---|
| 1 | No Time for a Taxicab | Source |
| 2 | Bathroom Security | Source |
| 3 | Squares With Three Sides | Source |
| 4 | Security Through Obscurity | Source |
| 5 | How About a Nice Game of Chess? | Source |
| 6 | Signals and Noise | Source |
| 7 | Internet Protocol Version 7 | Source |
| 8 | Two-Factor Authentication | Source |
| 9 | Explosives in Cyberspace | Source |
| 10 | Balance Bots | Source |
| 11 | Radioisotope Thermoelectric Generators | Source |
| 12 | Leonardo's Monorail | Source |
| 13 | A Maze of Twisty Little Cubicles | Source |
| 14 | One-Time Pad | Source |
| 15 | Timing is Everything | Source |
| 16 | Dragon Checksum | Source |
| 17 | Two Steps Forward | Source |
| 18 | Like a Rogue | Source |
| 19 | An Elephant Named Joseph | Source |
| 20 | Firewall Rules | Source |
| 21 | Scrambled Letters and Hash | Source |
| 22 | Grid Computing | Source |
| 23 | Safe Cracking | Source |
| 24 | Air Duct Spelunking | Source |
| 25 | Clock Signal | Source |
2015
| Day | Problem | Solution |
|---|---|---|
| 1 | Not Quite Lisp | Source |
| 2 | I Was Told There Would Be No Math | Source |
| 3 | Perfectly Spherical Houses in a Vacuum | Source |
| 4 | The Ideal Stocking Stuffer | Source |
| 5 | Doesn't He Have Intern-Elves For This? | Source |
| 6 | Probably a Fire Hazard | Source |
| 7 | Some Assembly Required | Source |
| 8 | Matchsticks | Source |
| 9 | All in a Single Night | Source |
| 10 | Elves Look, Elves Say | Source |
| 11 | Corporate Policy | Source |
| 12 | JSAbacusFramework.io | Source |
| 13 | Knights of the Dinner Table | Source |
| 14 | Reindeer Olympics | Source |
| 15 | Science for Hungry People | Source |
| 16 | Aunt Sue | Source |
| 17 | No Such Thing as Too Much | Source |
| 18 | Like a GIF For Your Yard | Source |
| 19 | Medicine for Rudolph | Source |
| 20 | Infinite Elves and Infinite Houses | Source |
| 21 | RPG Simulator 20XX | Source |
| 22 | Wizard Simulator 20XX | Source |
| 23 | Opening the Turing Lock | Source |
| 24 | It Hangs in the Balance | Source |
| 25 | Let It Snow | Source |