What I learned after solving 100 Leetcode problems
In the beginning of Summer, I solved 100 Leetcode problems in 4 days. I want to share key lessons I learned from this challenge.
In June 1st, 2026 - the first day of summer, I decided to make an incredible challenge: To solve 100 Leetcode problems. This was such an incredible decision of mine, as its medium difficulty was enough to keep me motivated throughout the whole challenge. I basically spent my whole days grinding leetcode problems, so my goal became to finish them all as soon as possible. Furthermore, I made a full recap of my journey on Youtube, check that out if it is interesting. For my roadmap, I decided to stick to Neetcode's curated roadmap for handling "Data Structures and Algorithms" topics.
Within 4 days, I managed to successfully complete this challenge and solve 100 Leetcode problems, which became an incredible milestone for me. In this article, I want to share 4 lessons I learned during this challenge, that are truly priceless and that will undoubtedly help you in your academic growth.
1. Patterns Matter More Than Individual Solutions
After 100 problems, I noticed that roughly 60% share core patterns. Mastering fundamentals like two-pointers, sliding window, arrays, binary search and basic dynamic programming unlocks many others, as every complex algorithm is directly linked to many less complex ones.
Don't memorize exact code - internalize the approach. For example:
- Many string/array problems reduce to hash maps or sorting.
- Tree/graph traversals often follow the same recursive or iterative templates. Once you master the core patterns of each algorithm or problem type, you will be able to solve majority of problems in the same category.
2. Start with Brute Force, Then Optimize
A common trap is overthinking the optimal solution from the start. From the first try, it will not be easy to implement the best and the most optimal solution. Therefore, prioritize creating the most naive working solution first, which you can optimize and improve later on.
3. Review Solutions and Others' Code Constantly
Never skip the editorial. After solving the problem do not move on to the next one instantly. Study multiple high-voted solutions in different languages and read other develops' code. By doing this, I basically broadened my horizon, learned different strategies of writing clean code and implementing an algorithm and exposed myself to cleaner techniques.
4. Easy Problems Are Underrated
Everyone might think that Easy problems do not worth paying attention and tend to skip most of them. But that is wrong. Easy problems actually reinforce your fundamentals - analyzing runtime complexity, basic data structures, math tricks and clean coding. Many medium and hard problems build directly on them. Do not feel ashamed of grinding Easy problems; they will eventually pay off.
In conclusion, solving 100 problems definitely did not make me a genius, but it made me significantly better at breaking down problems, writing cleaner code, staying calm under time constraints and problem solving. These abilities are now helping me considerably to write better code every single day in my daily projects.
If you are just starting, keep going, do not stop - the first 20-30 problems are the hardest ones. By 100, you will look back and be amazed at how far you have come.
What about you? What is your biggest takeaway so far from Leetcode? What is your current Leetcode level? Let's collaborate and learn programming together!