This repository contains my solutions to the Advent of Code 2023 challenges written in Go.
Advent of Code is an annual event where participants solve daily programming puzzles, each released in the form of a two-part challenge. The challenges cover various topics, and participants often use the opportunity to sharpen their problem-solving and coding skills.
It was my first Advent of Code. I didn't know that it has two parts per day, so in this repository I have solutions only for part 2 of every problem.
I was aiming to:
- utilize my knowledge of algorithms and data structures;
- make solutions as general as I could;
- prioritize code readability over how fast I can write the solution — I didn't try to compete on global leaderboard.
And I also learned a lot! For example, I learned about Shoelace formula to calculate a polygon area for day 18, I found out Z3 theorem prover in day 24, and I implemented Karger's algorithm to find a global minimum cut for day 25.
It was very fun (I got tired at the end, though), and I was very glad that I took part in this event. Huge thanks to Eric Wastl, the creator of Advent of Code!