Skip to content
/ aoc Public
forked from mebeim/aoc

🎄 My solutions and walkthroughs for Advent of Code (https://adventofcode.com) and more related stuff.

License

Notifications You must be signed in to change notification settings

epsalon/aoc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code

Personal repository of Advent of Code solutions.

Quick links

About Advent of Code

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. One programming puzzle a day is released from 1st to 25th December, divided in two parts (the second of which is unlocked after solving the first). Advent of Code is created by Eric Wastl, and is 100% free. If you like Advent Of Code and want to support its creator, you can donate to him here. If you want to hang out with other fellow coders, discuss about puzzles and solutions, or just have a look around, you can join the official subreddit: r/adventofcode, or the unofficial IRC channel: ##adventofcode on irc.freenode.com, where you can also find me at the right time of the year.

About this repo

I discovered Advent of Code in 2017, and played my first edition in 2018. In this repository you can find my solutions and walkthroughs for the puzzles as well as other miscellaneus stuff like visualizations and other scripts.

In each year's folder you will find:

  • README.md: an in depth walkthrough of my (clean) solutions for the puzzle, day by day, with references to used algorithms and data structures and sometimes also comments/reflections.

  • solutions/: clean solutions for the puzzles. I usually rewrite, polish and optimize my original solutions whenever I have time after my first solve, along with a detailed walkthrough.

  • original_solutions/: my almost unedited original solutions for the puzzles, written as fast as I could while trying to solve puzzles for the first time. These solutions may use helpers I defined in my own utils module, as well as other external modules to make things easier. Do not expect the code in here to be sane/readable/fast[1].

  • inputs/: my puzzle inputs.

  • lib/: small library of utilities written for this specific year. There are recurring concepts and problems each year. If needed, this folder will hold common code used by multiple solutions.

  • misc/: anything else interesting. This includes image/video visualizations of puzzles, additional interesting scripts, and so on.

    • full_leaderboard.md: a complete leaderboard of all participants of advent of code, including those who do not make it to the top 100, built by by scraping each day's leaderboard.
    • calendar.gif: a GIF of the animated complete calendar for the year. That is, if I managed to finish all puzzles.

[1] I chose to upload "original" versions of solutions for two reasons: they are a good and fun way to see how I code, and they can be uploaded as soon as the leaderboard for the day is complete, as I often don't have time to rewrite them more cleanly right away.

If you enjoy what I'm doing and would like to say "thanks", you can buy me a drink here.

Contributing

If you have question or spotted a typo/bug/mistake, you are most welcome to submit a new issue. For pull reqeusts and other kinds of contributions, please read CONTRIBUTING.md.

Licensing

The content of this repository, with the exception of walkthroughs (as defined in and linked at the top of this document), is licensed under the Apache License 2.0, which you can find in the file LICENSE.Apache-2.0. Walkthroughs are licensed under the Creative Commons BY-NC-SA 4.0 license, which you can find in the file LICENSE.CC-BY-NC-SA-4.0.


Copyright © 2020 Marco Bonelli.

About

🎄 My solutions and walkthroughs for Advent of Code (https://adventofcode.com) and more related stuff.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 82.9%
  • Assembly 15.1%
  • C 1.1%
  • JavaScript 0.9%