I recently discovered the Advent of Code project for myself and I absolutely loved it. At first glance, it seemed similar to solving Leetcode
problems. However, after trying it for a few days now I realized that I like the experience much more. In this short blog post I’ll try to break down main advantages that I see over Leetcode
:
No online editor
You don’t have to use the poor built-in online editor. I can freely use my favorite Neovim
for this
Freedom in choosing programming language
You are not limited at all, you can even use BrainFuck if you want to. I chose C because I wanted to refresh my knowledge of it and I like to struggle sometimes.
Implement everything from scratch
Leetcode
does all the parsing for you and passes the prepared input to your Solution class. Here, all you get is a text input, and you have to implement the parsing logic yourself. This may seem like a disadvantage, but if you use AOC to dive into a new language, this alone can teach you a lot.
Feels like a real project
I always hate the short-term nature of solving Leetcode
problems. It makes me feel like I’m wasting time and instead of building something. Here, in contrast, I feel like I’m working on a set of side projects. As a result, I care about the code quality much more.
Conclusion
If you haven’t yet tried the Advent of Code, I suggest you give it a shot. It’s a great way to sharpen your problem solving skills and/or learn new programming language.