Skip to content

My DSA Journey: Why I Started Solving LeetCode

My journey of learning Data Structures and Algorithms through LeetCode and the lessons I've learned along the way.

APAnkit Mohan Pandey
··2 min read·Learning
tl;dr

I stopped memorizing LeetCode solutions and started solving problems by hand first, then looking for the underlying pattern — arrays, two pointers, sliding window, binary search, DP, trees, graphs, hash maps. The goal isn't problem count; it's being able to explain the reasoning in an interview.

My DSA Journey: Why I Started Solving LeetCode

As a Data Engineer, I spend most of my day building data pipelines, writing SQL queries, working with BigQuery, Apache Airflow, and Google Cloud. While these skills are essential for my day-to-day work, I realized that technical interviews often focus on a different skill set—problem solving.

That's when I decided to start my Data Structures and Algorithms (DSA) journey using LeetCode.

The Challenge

When I first opened a LeetCode problem, I immediately looked for the code solution. After a few attempts, I realized that memorizing solutions wasn't helping. Every new problem felt completely different.

The real challenge wasn't writing Python—it was learning how to think.

What Changed

Instead of jumping straight into coding, I started following a simple process:

  1. Understand the problem.
  2. Solve it manually using a small example.
  3. Identify the underlying pattern.
  4. Write the optimized solution.
  5. Analyze the time and space complexity.

This approach made complex problems much easier to understand.

Patterns Over Memorization

One of the biggest lessons I've learned is that DSA is all about recognizing patterns.

Some common patterns include:

  • Arrays
  • Two Pointers
  • Sliding Window
  • Binary Search
  • Dynamic Programming
  • Trees
  • Graphs
  • Hash Maps

Once you recognize the pattern, solving the problem becomes much more manageable.

My Goal

I'm not trying to solve hundreds of problems as quickly as possible.

Instead, I want to deeply understand the logic behind each solution so that I can confidently explain my thought process during interviews.

Quality of learning is far more valuable than the number of problems solved.

What's Next?

Over the coming weeks, I'll continue documenting my learning journey by sharing:

  • DSA concepts explained in simple language
  • LeetCode solutions with detailed explanations
  • Python tips for interview preparation
  • SQL interview questions
  • Data Engineering interview experiences and notes

If you're also preparing for coding interviews, I hope my journey helps you learn something along the way.

Happy Coding! 🚀

#leetcode#dsa#python#interview-preparation
faq

Why did I start learning DSA if I already work as a Data Engineer?

Day-to-day work is pipelines, SQL and cloud tooling, but technical interviews test a different skill — problem solving under time pressure — so I started a dedicated LeetCode practice to build that muscle.

What was the biggest mistake I made early on?

Reading the solution before really attempting the problem. Every new problem felt unrelated because I was memorizing answers instead of learning how to think through them.

What process do I follow now?

Understand the problem, solve it manually with a small example, identify the underlying pattern, write the optimized solution, then analyze time and space complexity.

What's the actual goal?

Not raw problem count — understanding the logic well enough to explain my thought process confidently in an interview.