My Journey Solving 400+ LeetCode Problems: Tips for Beginners

Software Engineer & Full-Stack Developer
In May 2024, I opened LeetCode for the first time. I stared at Two Sum for 45 minutes before looking at the solution. Eighteen months and 400+ problems later, I can solve most medium problems in 20-30 minutes. This is how I got there.
Phase 1: Building Foundations (0–100 problems)
I started with the wrong approach — jumping into random problems without pattern recognition. After two weeks of frustration, I switched to a structured plan: master one data structure at a time. Arrays → Strings → HashMaps → Linked Lists → Stacks/Queues.
- Solved 4–5 Easy problems daily for the first month
- Focused on understanding O(n) vs O(n²) tradeoffs
- Used NeetCode 150 as my primary resource
- Wrote down the approach before writing any code
Phase 2: Pattern Recognition (100–200 problems)
This is where the magic happens. I stopped seeing individual problems and started recognizing patterns: sliding window, two-pointer, fast-slow pointer, BFS vs DFS, backtracking templates. I created a Notion database tagging every problem with its pattern.
Phase 3: Medium/Hard & Contests (200–400+)
Started participating in weekly contests. The time pressure is humbling — you learn to think fast. I also began tackling DP systematically: 1D DP → 2D DP → Knapsack variations → LCS → Matrix Chain. For graphs, Dijkstra and Union-Find became second nature.
// My go-to BFS template (solves 90% of graph problems)
function bfs(graph, start) {
const queue = [start];
const visited = new Set([start]);
while (queue.length) {
const node = queue.shift();
for (const neighbor of graph[node]) {
if (!visited.has(neighbor)) {
visited.add(neighbor);
queue.push(neighbor);
}
}
}
return visited;
}Tips That Actually Work
- Solve consistently, not intensely — 2 problems/day beats 14 problems on Sunday
- Spend at least 30 minutes stuck before looking at solutions
- Re-solve problems you struggled with after 1 week (spaced repetition)
- Explain your solution out loud (the Feynman technique)
- Track your weak areas — mine were DP and Segment Trees
Resources I Recommend
- NeetCode 150 (free structured roadmap)
- Striver's SDE Sheet (great for Indian interview prep)
- AlgoExpert (paid but worth it for video explanations)
- LeetCode Discuss section for optimal solutions

Dhiraj Kumar
Dhiraj Kumar is a software engineer and full-stack developer interested in modern web technologies, artificial intelligence, automation, and agentic systems. Through his portfolio and technical writing, he explores practical approaches to building reliable software and AI-powered applications.
Enjoyed this article? Let's connect!
Read More Articles