advent-of-code

module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2020 License: MIT

README

advent-of-code

GitHub go.mod Go version Build Status Go Report Card codecov GoDoc

Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as a speed contest, interview prep, company training, university coursework, practice problems, or to challenge each other.

This repository contains solutions for puzzles and cli tool to run solutions to get answers for input on site.

Implemented solutions

2015
  • Day 1: Not Quite Lisp
  • Day 2: I Was Told There Would Be No Math
  • Day 3: Perfectly Spherical Houses in a Vacuum
  • Day 4: The Ideal Stocking Stuffer
  • Day 5: Doesn't He Have Intern-Elves For This?
  • Day 6: Probably a Fire Hazard
  • Day 7: Some Assembly Required
  • Day 8: Matchsticks
  • Day 9: All in a Single Night
  • Day 10: Elves Look, Elves Say
  • Day 11: Corporate Policy
  • Day 12: JSAbacusFramework.io
  • Day 13: Knights of the Dinner Table
  • Day 14: Reindeer Olympics
  • Day 15: Science for Hungry People
  • Day 16: Aunt Sue
  • Day 17: No Such Thing as Too Much
  • Day 18: Like a GIF For Your Yard
  • Day 19: Medicine for Rudolph
  • Day 20: Infinite Elves and Infinite Houses
  • Day 21: RPG Simulator 20XX
  • Day 22: Wizard Simulator 20XX
  • Day 23: Opening the Turing Lock
  • Day 24: It Hangs in the Balance
  • Day 25: Let It Snow
2016
  • Day 1: No Time for a Taxicab
  • Day 2: Bathroom Security
  • Day 3: Squares With Three Sides
  • Day 4: Security Through Obscurity
  • Day 5: How About a Nice Game of Chess?
  • Day 6: Signals and Noise
  • Day 7: Internet Protocol Version 7
  • Day 8: Two-Factor Authentication
  • Day 9: 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
2017
  • Day 1: Inverse Captcha
  • Day 2: Corruption Checksum
  • Day 3: Spiral Memory
  • Day 4: High-Entropy Passphrases
  • Day 5: A Maze of Twisty Trampolines, All Alike
  • Day 6: Memory Reallocation
  • Day 7: Recursive Circus
  • Day 8: I Heard You Like Registers
  • Day 9: Stream Processing
  • Day 10: Knot Hash
  • Day 11: Hex Ed
  • Day 12: Digital Plumber
  • Day 13: Packet Scanners
  • Day 14: Disk Defragmentation
  • Day 15: Dueling Generators
  • Day 16: Permutation Promenade
  • Day 17: Spinlock
  • Day 18: Duet
  • Day 19: A Series of Tubes
  • Day 20: Particle Swarm
  • Day 21: Fractal Art
  • Day 22: Sporifica Virus
  • Day 23: Coprocessor Conflagration
  • Day 24: Electromagnetic Moat
  • Day 25: The Halting Problem
2018
  • Day 1: Chronal Calibration
  • Day 2: Inventory Management System
  • Day 3: No Matter How You Slice It
  • Day 4: Repose Record
  • Day 5: Alchemical Reduction
  • Day 6: Chronal Coordinates
  • Day 7: The Sum of Its Parts
  • Day 8: Memory Maneuver
  • Day 9: Marble Mania
  • Day 10: The Stars Align
  • Day 11: Chronal Charge
  • Day 12: Subterranean Sustainability
  • Day 13: Mine Cart Madness
  • Day 14: Chocolate Charts
  • Day 15: Beverage Bandits
  • Day 16: Chronal Classification
  • Day 17: Reservoir Research
  • Day 18: Settlers of The North Pole
  • Day 19: Go With The Flow
  • Day 20: A Regular Map
  • Day 21: Chronal Conversion
  • Day 22: Mode Maze
  • Day 23: Experimental Emergency Teleportation
  • Day 24: Immune System Simulator 20XX
  • Day 25: Four-Dimensional Adventure
2019
  • Day 1: The Tyranny of the Rocket Equation
  • Day 2: 1202 Program Alarm
  • Day 3: Crossed Wires
  • Day 4: Secure Container
  • Day 5: Sunny with a Chance of Asteroids
  • Day 6: Universal Orbit Map
  • Day 7: Amplification Circuit
  • Day 8: Space Image Format
  • Day 9: Sensor Boost
  • Day 10: Monitoring Station
  • Day 11: Space Police
  • Day 12: The N-Body Problem
  • Day 13: Care Package
  • Day 14: Space Stoichiometry
  • Day 15: Oxygen System
  • Day 16: Flawed Frequency Transmission
  • Day 17: Set and Forget
  • Day 18: Many-Worlds Interpretation
  • Day 19: Tractor Beam
  • Day 20: Donut Maze
  • Day 21: Springdroid Adventure
  • Day 22: Slam Shuffle
  • Day 23: Category Six
  • Day 24: Planet of Discord
  • Day 25: Cryostasis
2020
  • Day 1: Report Repair
  • Day 2: Password Philosophy
  • Day 3: Toboggan Trajectory
  • Day 4: Passport Processing
  • Day 5: Binary Boarding
  • Day 6: Custom Customs

Usage of aoc-cli

Download binary from Latest release artifacts and execute

Run it and follow instructions

Demo

cli demo_step_1 cli demo_step_2

Directories

Path Synopsis
cmd
aoc-cli command
internal
input
Package input generated by go-bindata.// sources: data/2019/day01.txt data/2019/day02.txt data/2019/day03.txt data/2019/day04.txt data/2020/day01.txt data/2020/day02.txt
Package input generated by go-bindata.// sources: data/2019/day01.txt data/2019/day02.txt data/2019/day03.txt data/2019/day04.txt data/2020/day01.txt data/2020/day02.txt
puzzles
Package puzzles declares common interface for puzzle solutions and functionality for register and run them.
Package puzzles declares common interface for puzzle solutions and functionality for register and run them.
puzzles/solutions
Package solutions registers solutions of puzzles.
Package solutions registers solutions of puzzles.
puzzles/solutions/2019/day01
Package day01 solves https://adventofcode.com/2019/day/1
Package day01 solves https://adventofcode.com/2019/day/1
puzzles/solutions/2019/day02
Package day02 solves https://adventofcode.com/2019/day/2
Package day02 solves https://adventofcode.com/2019/day/2
puzzles/solutions/2019/day03
Package day03 solves https://adventofcode.com/2019/day/3
Package day03 solves https://adventofcode.com/2019/day/3
puzzles/solutions/2019/day04
Package day04 solves https://adventofcode.com/2019/day/4
Package day04 solves https://adventofcode.com/2019/day/4
puzzles/utils/intcomputer
Package intcomputer provides functionality for Intcode programs calculation Intcode programs are given as a list of integers; these values are used as the initial state for the computer's memory.
Package intcomputer provides functionality for Intcode programs calculation Intcode programs are given as a list of integers; these values are used as the initial state for the computer's memory.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL