first Advent of code for me, probably be in several languages for fun Trying them first in python to improve a bit an understand the problem, the if I’ve got time, trying to do them in bash to improve as well

  • Day 1
  • Day 2
  • Day 3
  • Day 4
  • Day 5
  • Day 6
  • Day 7
  • Day 8
  • Day 9
  • Day 10
  • Day 11
  • Day 12
  • Day 13
  • Day 14
  • Day 15
  • Day 16
  • Day 17
  • Day 18
  • Day 19
  • Day 20
  • Day 21 (only part 1)
  • Day 22
  • Day 23
  • Day 24
  • Day 25

Feedback

Day 1:

Was pretty easy to find a solution, not quite happy about the variables set with high values to avoid counting them but it works anyway…

The solution with bash allowed me to learn how to read a file in bash aand to understand comparisons between integers

Day 2:

Python solution is quite long and I could simplify it as I did in Bash but… otherwise nothing special, wasn’t too difficult to find the answer and I’m quite happy of the challenges for now

Here I (re) discovered switch in bash and found that using integer mixed with strings is quite messy (there is certainly a way to write a nicer code, but I don’t know how for now). I also found a quite nice way to online error using boleans and understood a bit better lists in bash

Day 3:

The challenge was straight forward to go, but the step were quite messy at first, managed to do something clean anyway, even though it is quite long

The Bash solution might be coming next week (week of the 06/12)

Day 4:

The solution was straight forward, had some issues getting the board as int tho but it works now Perhaps I’ve been using list comprehension where I shouldn’t (just to make short code) but now I understand how it works

The Bash solution might be coming next week (week of the 06/12)

Day 5:

I found this one easier than day 4, except some difficulties to write all the diagonals, it was pretty simple, I quite happy I understood list comprehension yesterday, allowed me to use much less lines

The Bash solution might be coming next week (week of the 06/12)

Day06:

This one was very easy once we understand how to do it, I really liked the fact that they lead us to one way of doing it and then for the second, it’s our turn to find how to improve it in order not to spend hours waiting for the result. I think it’s a very good skill to have and I’m pretty happy that we had to do it

The Bash solution might be coming this week (week of the 06/12)

Day07:

As for the last ones, this was pretty straight forward, not too complicated. This puzzle allowed me to remember the formula of sum, which was pretty nice and way faster than calculating it by hand every time.

This puzzle will allow me to try functions as parameters in bash, might be coming this week (week of the 06/12)

Day08:

The first puzzle of today was pretty easy since we just had to look at the length of each digit and check. For the second one, it was another story tho… I’m really proud to have finished it.

This puzzle will allow me to try functions as parameters in bash, might be coming this week (week of the 06/12)

Day09:

At first this puzzle seemed complicated, I thought it would be some sort of path finder but in fact it wasn’t that difficult (except when you’re stuck on such a small mistake that it passes the examples but not the input test)

The Bash solutions might not be coming this week but later when I’ll have time

Day10:

This puzzle was not very difficult and it was pretty interesting to discover the use of dictionary in python, I found list comprehension useful for one function today, even though I didn’t see it at first, I’m happy that I found it.

The Bash solutions might not be coming this week but later when I’ll have time

Day11:

This puzzle was nice, even without a lot of sleep I managed to do it. (though I can’t seem to write the readme)

The Bash solutions might not be coming this week but later when I’ll have time

Day12:

Once again, a very nice puzzle, mangaged to do both cases in one function (parameters depending) and quite happy to have used graphs for this one, allowed me to revise for the finals

The Bash solutions might not be coming this week but later when I’ll have time

Day13 :

This puzzle was still quite easy even though I had difficulties seeing a mistake I made and I had to do it on paper to be sure of the calculations for the first method, for the second one, it was really straight forward and I’m impress of it’s speed, 300x faster. Now I now that I will use the raw data more often…

The Bash solutions might not be coming this week but later when I’ll have time

Day14 :

This puzzle was already way more difficult, the puzzle1 seemed to be straight forward, you could juste create the polymer and look at the max and min values, but for the second, this method would have taken one year to complete… I had to look at the reddit to find the method of resolution, and then created my own function which I find better than their. Once again dictionaries save the day.

The Bash solutions might not be coming this week but later when I’ll have time (or never in the absence of dict)

Day15 :

This puzzle was more difficult, perhaps a bit less than last time since it was again the same type of optimisation. Though, I didn’t managed to find it straight away and I had to go look at the reddit to convince myself that I didn’t have to “find the path” in order to get the shortest one and that it was enough to look for the lowest values. I’m quite proud of the solution I gave today might not be the best one but, 5s for the second puzzle is I think enough.

The Bash solutions might not be coming this week but later when I’ll have time (or never in the absence of dict)

Day16 :

This puzzle really rough, took a while to do it and had to check with a solution to find my mistake

(No idea about Bash version)

Day17 :

This one seemed easy, then difficult, then an easy solution was possible so… nice

Some chances that the Bash solution will arrive

Day18 :

This was a nice exercise, gave me the oportunity to use classes in Python easier than the last ones, since it was straight forward (except when you do shitty stuff)

If Bash solution arrive, it will most certainly not be the same one

Day19 :

Didn’t manage to do it in Python, will do it later with straight ideas (without beeing in the middle of finals)

Day20 :

Managed to do it before the exams, was really nice and well explained, I feel it was better explained than the last one which made it way easier (it was also really shorter…)

On this one, a bash solution could be really fun

Day21 :

Didn’t manage (nor really found the time) to do it properly for now. Only did the first half of it

Day22 :

This is getting really hard, didn’t manage to do any of it for today…

Day23 :

The puzzle seems nice but I don’t really have time to code for now, so I’ll look into it later

Day24

(thx to Sheinxy for the README template)