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.