| year | day | summary |
|---|---|---|
| 2025 | 1 | While writing the first part, I already suspected what the second part would look like — it was obvious from the large numbers that didn’t affect the scoreboard but passed near zero. Still, I was lazy, and in the second part I had to rewrite some code. Overall, I solved the first part very quickly, but the second part made me sweat a bit, especially accounting for the case of landing on zero. Unfortunately, it took four attempts with incorrect answers, I'll try use less attempts tomorrow. It’s a sad I didn’t start earlier — the description, the festive atmosphere, and the slight sense of competition are wonderful. I’m really looking forward to day two. |
| 2025 | 2 | It was a tough day — very busy and without much time, but I still solved the task. At first, I generated the numbers based on the idea that NN is formed as N × 101, etc. Then I found them within a range using an arithmetic progression — everything was beautifully structured… until I noticed cases like 98–127, and that’s when everything fell apart. In the end, I simply split them into 98–99 and 100–127 and handled them separately.But when I saw that the second task makes non-NN numbers valid — like 111 — all my NN logic and elegant math completely fell apart, and I had to rewrite everything from scratch :D I really want to come back to this someday and implement it in a simpler and cleaner way. |
| 2025 | 3 | Today I was nervous after yesterday’s “failure,” especially considering that my friend's solution had been much simpler and more elegant thanks to regex. So today I chose my approach very carefully. It immediately occurred to me that this was a pointer-style problem, so I decided to try that. The task was solved very quickly — both parts took no more than half an hour, plus some thinking throughout the day. What gave me the most trouble was Clojure itself. loop/recur is still new to me, and it was difficult to imagine how to express a pointer-like problem idiomatically in a functional language. |
| 2025 | 4 | I had almost no time today — it was a very difficult day — but doing the puzzles always brings me joy, so I quickly found the energy and made time for them. It really helped that I glanced at the task in the morning and spent the whole day thinking about how to solve the first part. As a result, it turned out quick and simple, and I also learned how to properly process a grid in Clojure — very convenient. The second part was harder only because I still don’t fully understand loop/recur, but I think I managed to figure it out. For this day, the second task felt a bit “lazy,” since it was basically about running the same thing several times — not particularly inventive. The previous days really broke expectations and forced me to change my thinking or rewrite my approach (at least for me). Still, I’m very satisfied. Looking forward to the next day. |
| 2025 | 5 | Today was a calm day, and I solved the task peacefully while eating. The first part was very simple — with Clojure everything turns out so elegant, it’s a pleasure. The second part was a basic array intersection, but I had never written something like that in Clojure before. It was interesting, and I’m very happy with how concise and expressive the solution turned out. I’m also really enjoying the overall atmosphere of separating logic from data transformations — first iterating over everything in a convenient form, and then just calculating the result. And -> and ->> are pure pleasure. |
| 2025 | 6 | I’m a bit sad that there are only 12 days now, but on the other hand — we’re already halfway through! Today I tried to put all transformations directly into the parser, but it turned out the second step changes the rules for reading numbers (who would have thought), so I had to revert everything back :D The task is interesting, and the story is fun. The first part, as usual, didn’t cause any problems. The second part, however, really made me think. Only after carefully rereading the instructions did I realize that I needed to rotate the grid by 90 degrees — then the separators become visible, and from there you can assemble them. It didn’t come out as clean as I wanted, though it’s still essentially pure transformations. |
| 2025 | 7 | TBD |
| 2025 | 8 | TBD |
-
Notifications
You must be signed in to change notification settings - Fork 0
velopsey/advent-of-code
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
Advent of Code solutions in Clojure.