July 7, 2023
I have always been intrigued and intimidated by the terms data structures and algorithms. I am not from a traditional background like computer science, but this FOMO has been there ever since. Even in interviews, when they give you a problem and tell you to solve it at a particular time, I often fail to solve it. I never knew there were patterns for solving problems. Some time ago, When I actually got some time from my job, I thought of giving myself some time to look into it and at least get familiar with it to the point where I didn't get scared of it.
I wasn't clear where to start until I heard about this term, leetcode, on Twitter. I checked it out, and it was a little overwhelming to see patterns called binary search, and linked list, as I hadn't heard of these terms before. Just like an enthusiastic rookie, I tried to solve the problems but failed miserably. I did some research on YouTube and Google and found out that I will have to follow a structured path to learn these algorithms, and only then will I be able to solve them. I Looked it up and found this amazing course
Here is my progress. Though I didn't complete it, I’d definitely recommend it to anyone starting the DSA journey. The course covers everything to get you from a beginner to an intermediate level of understanding.
I started with the course and began to understand a lot of algorithms, including two pointers, binary search, stacks, and queues. Simultaneously, I was solving Easy problems on Leetcode. People on YouTube were saying your easy problems should be done in 30 minutes, but I was taking like 3-4 hours to solve an easy one. But everyone said to stick around; it will get easier. While I was grinding on easy problems, Medium problems looked impossible, and hard problems were out of this world. Well, It did work after 15-20 days. Easy problems started to feel too easy, and then I moved to medium problems.
At this point in time, I was feeling kind of lost and confused about what problems to solve. I didn't want to become a competitive programmer, But at least I should be able to crack interviews, and if anyone discusses DSA, I should be able to participate in it. I came across this legit website called Neetcode, where I got a proper roadmap and structured problems to solve as per the difficulty level.
I decided I would only solve these 150 problems, which would give me a basic understanding of all algorithms. I would highly recommend this website to anyone starting out leetcode https://neetcode.io/
Here is my progress on the leetcode
I have seen people solve 500+ problems on Leetcode; comparatively, mine is not that impressive. I only gave it a month and then got busy with the projects, Later, I realised that this is not a one time thing; I need to keep coming back at it and solving more leetcode problems whenever I get the chance, which will make me a better problem solver and eventually a better developer in the long run.
“DSA is not a sprint; it's a marathon.”