Advent Of Code 2015

My solutions to the 2015 Advent Of Code puzzles.

I did not participate to the challenge in 2015 (my first was in 2019) but in January 2020 I decided it would have been fun (and good practice) to try to solve them in my spare time.

Things I learned or noticed on the way

  • Puzzles globally seemed easier then 2019 or 2020 (but maybe it's just me getting better at them?)
  • I did get better at algorithms!
  • I still suck at using rexexp, my scraping of the input files are often messier then they could be (even if I can now use better list comprehension)
  • itertools FTW!
  • Brute force can be the solution if the input is not too large (but not always!)
  • Worst day: 19 Part 2!

ChangeLog

  • Day 1: 2020-01-05
  • Day 2: 2020-01-05
  • Day 3: 2020-01-05
  • Day 4: 2020-01-06
  • Day 5: 2020-01-06
  • Day 6: 2020-01-07
  • Day 7: 2020-01-07
  • Day 8: 2020-01-07
  • Day 9: 2020-01-08
  • Day 10: 2020-01-08
  • Day 11: 2020-01-08
  • Day 12: 2020-01-10
  • Day 13: 2020-01-08
  • Day 14: 2020-01-08
  • Day 15: 2020-01-09
  • Day 16: 2020-01-10
  • Day 17: 2020-01-10
  • Day 18: 2020-01-11
  • Day 19
    • Part 1: 2020-01-11
    • Part 2: 2020-02-13: toughest puzzle to date, final solution was trivial but I suspect it works only because of peculiarities of replacement "grammar".
  • Day 20: 2020-01-12
  • Day 21: 2020-01-12
  • Day 22:
    • Part 1: 2020-01-15: after many attempts and much bug hunting, I got a mana value that seems to satisfy Part 1...
    • Part 2: 2020-01-28: modification of Part 1 seemed trivial but was not working with initial case: I ultimately refactored the match simulation code eliminating all classes to allow easier debugging. Finding the time to do it was the most complicated part, re-implementing from scratch took about 30'...
  • Day 23: 2020-01-14
  • Day 24: 2020-01-14
  • Day 25: 2020-01-15

50 stars

Santa!