u/Effective-Policy4009

How do people actually learn to think through DSA problems instead of memorizing patterns?

I’m struggling with DSA problem solving and I want honest advice from people who became good at it.

My biggest confusion is this:

People always say:

  • “learn patterns”
  • “recognize sliding window”
  • “use hashmap”
  • “practice more”

But I feel like knowing the pattern alone is not enough to solve problems.

When I see a new problem, I struggle to:

  • convert the statement into logical steps
  • form even a brute-force solution sometimes
  • identify what matters in the problem
  • understand how humans even think of these optimizations

After seeing the solution, I can understand it. But during solving, the logic does not naturally come into my mind.

For example, when people use:

  • sliding window
  • hashmap
  • two pointers

I keep thinking:
“How did someone even discover this logic?”
“How do they know what to optimize?”
“How do they know which data structure fits?”
“How does a human brain arrive at this?”

I also feel confused because understanding sometimes feels similar to memorization. If I repeatedly see enough problems, eventually I’ll remember certain steps or recognize structures but is that actual understanding or just experience-based memory?

Did experienced programmers also feel this way while learning DSA?

How do strong problem solvers actually think through unseen problems instead of just recalling patterns?

reddit.com
u/Effective-Policy4009 — 7 days ago