Skip to content

MinaPecheux/Advent-Of-Code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code

This repository contains the code I wrote for the online Advent of Code challenge by Eric Wastl. Advent of Code is a programming project where you are given one new puzzle everyday all throughout December - it is "an Advent calendar of small programming puzzles". Puzzles can be solved using any programming language and they train you in various skills and algorithms.

Each day, a 2-parts problem is posted. Solving each part gives you 1 gold star (so you have up to 2 for each problem).

For more info on the project, take a look at the about page.

Big thanks to Eddie Li for introducing me to this neat project!

Repo organization

The Github repository is subdivided per year, then by language. For now, I've worked mostly in Python, Javascript (Node JS), C++, CSharp (C#) and C, and mostly on the 2019 and 2018 challenges. I will keep on filling the repository as I code up solutions in other languages or for more challenges :)

Current progression

Python:

2019    [ ■■■■■■■■■■■■■■■■■■■       ] 19 / 25
2018    [ ■■■■■■■■■■■■■■            ] 14 / 25
2017    n/a
2016    [ ■■■                       ]  3 / 25
2015    [ ■■■■■■■■■■■■■■■■■■        ] 18 / 25

Javascript (Node JS):

2019    [ ■■■■■x■■■■■■■             ] 12 / 25
2018    n/a
2017    n/a
2016    n/a
2015    n/a

C++:

2019    [ ■■■■■x■■■■■■■■■■          ] 15 / 25
2018    n/a
2017    n/a
2016    n/a
2015    n/a

C#:

2019    [ ■■■■                      ]  4 / 25
2018    n/a
2017    n/a
2016    n/a
2015    n/a

C:

2019    [ ■                         ]  1 / 25
2018    n/a
2017    n/a
2016    n/a
2015    n/a

The repo is subdivided per year and further down by programming language. In each year > language subfolder, there is a README that contains all my notes, remarks, personal interrogations or tips & tricks for the provided solutions (there is one small paragraph per puzzle). Also, the year > data folder contains the input data that was given to me for each puzzle. It is generated on the spot for each user, so if you want to participate in this big adventure, you might not have the same... but it gives you an idea of the input format, and you can still see if you get the same result as me for those results - the correct answers (that have been veted by the website) are written in the README, in the section corresponding to the puzzle!

Note: the READMEs might be quite similar from one language to another, unless the notes specifically focus on a feature of the language; when I talk about some algorithm or general programming idea, the various READMEs might have some copy/paste in them - but this allows you to look only at the folder you're interested in and disregard the others without losing too much info.

Spoiler alert! Of course, this repo is, by definition, filled with direct solutions for these puzzles. If you're interested in searching by yourself first, be careful not to be spoiled something by browsing the code!

Philosophy

I had multiple goals when I started this project:

  • I wanted to improve my own skills with these challenges
  • I also wanted to share with you little tips and tricks depending on the programming language
  • and finally I wanted to offer some commented and (hopefully!) well-structured code to give you an example of some possible programming guidelines (but this is by no means an imperative and each programmer might have their own preference, so this is just one example!)