This blog post shares my solutions to the Grind 75 problems, the GitHub repo for which is updated synchronously here.
I wish that by sharing both the key takeaways of each problem and the solution itself, it would be more convenient for myself to brush up on my problem solving skills using data structures and algorithms (DSA) and less daunting for beginners (like me a few years ago) to start building hands-on experience by understanding the techniques.
I find this particular problem list beginner friendly since it lets you start with the simpliest DSA problems that can be solved with basic data structures like lists and dictionaries. As you solve more and more problems, you will be gradually exposed to more complex data structures like priority queues and "smarter" algorithms like dynamic programming that can be unintuitive to come up with. Because of this, I always include a comment section in my solutions to list a number of points at high level to summarize what would help to solve the problem effectively with optimized time / space complexity.
