Examples of "Advent Of Code" solutions in many programming languages.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Advent of Code

This is a collection of Advent of Code solutions in many different programming languages.

For the uninitiated, Advent of Code is a series of programming challenges, a new one is released each day until Dec. 25th.

Each challenge requires thinking in a different way to solve it, and for this reason it provides an interesting look at how programming languages approach each problem.

You'll notice that in any given situation, the idiomatic Python way of solving something will be very different from the Haskell or Lisp way of doing things.


  • Create a Pull Request for any contributions.
  • Feel free to put your name or website in a comment at the top of your solution if you like.
  • I won't merge any solutions until a few days after each problem is released to allow the dust to settle, don't rush in making your PR's, it's not first come first merged.
  • The goal of the project is to see the most idiomatic way to solve each problem in a given language, for this reason I will keep only the solution which I feel best encapsulates 'idiomatic' code of that language. (Or will defer to the community in cases where it is unclear)
  • Please don't include your problem's 'input.txt' or solution, as these are different for each person.
  • Please put each solution (part 1 and part 2) into separate files (even if there's a bit of code duplication) it makes it easier to figure out what's going on.
  • Solutions should be easy to read (even for people who don't know the programming language), so include comments explaining your solution and any interesting
  • programming language tricks/idioms you're using.
  • In pull requests please follow the established pattern:
  • year/language-name/day-num/part#.extension

Don't get too competitive about it, someone else's solution may be accepted instead of yours, keep working at it and try to be as elegant and idiomatic as possible!

Remember to have fun!!