대부분의 DSA 문제는 반복이다

발행: (2026년 2월 1일 오전 01:56 GMT+9)
6 min read
원문: Dev.to

Source: Dev.to

The quiet realization

대부분의 DSA 문제는 실제로 새로운 것이 아니다.
그냥 변형일 뿐—제약이 다르고, 약간의 트윅이 있고, 문구가 바뀔 뿐.
하지만 그 아래에서는 같은 몇 가지 아이디어가 계속해서 등장한다:

  • 두 포인터
  • 슬라이딩 윈도우
  • Prefix sum(누적합)
  • 이진 탐색
  • 약간의 해싱

그걸 눈치채면, 다시는 보지 않을 수 없다.

Why this feels uncomfortable at first

우리 중 많은 사람들은 모든 문제를 독특한 것으로 다루도록 교육받는다:

  1. 꼼꼼히 읽는다.
  2. 처음부터 시작한다.
  3. 몇 가지 접근법을 시도한다.
  4. 뭔가 떠오르길 바란다.

그래서 문제가 반복되기 시작하면, 아이디어를 재사용한다는 것이 “속임수”처럼 느껴질 수 있다. 마치 진짜로 배우고 있지 않은 것처럼. 이런 사고방식 때문에 DSA가 필요 이상으로 어렵게 느껴진다.

This is how engineering actually works

실제 시스템에서도 우리는 해법을 새로 만들지는 않는다. 우리는:

  • 구조를 인식한다.
  • 알려진 접근법을 재사용한다.
  • 패턴을 제약에 맞게 적용한다.

DSA도 마찬가지다. 면접 문제는 당신이 얼마나 독창적인가를 테스트하는 것이 아니라; 다음을 테스트한다:

  • 구조를 인식할 수 있는가
  • 올바른 추상화를 선택할 수 있는가
  • 트레이드‑오프를 논리적으로 판단할 수 있는가
  • 왜 그 접근법이 동작하는지 설명할 수 있는가

반복은 시스템의 약점이 아니라 신호이다.

How difficulty really increases

난이도는 보통 완전히 새로운 아이디어에서 오는 것이 아니라, 익숙한 아이디어를 조합하는 데서 온다.

  • Easy problems → 하나의 패턴
  • Medium problems → 하나 또는 두 개의 패턴
  • Hard problems → 보통 두 개, 가끔은 세 개

그게 전부다. 쉬운 문제에서 중간 문제로 넘어가는 것은 지능 때문이 아니라, 여러 제약과 불변식을 동시에 머릿속에 유지해야 하기 때문이다.

Why grinding eventually stops helping

패턴을 추출하지 않고 문제를 계속 풀기만 하면:

  • 특정 질문에만 과적합한다
  • 해법을 금방 잊는다
  • 다음 변형이 “새로운” 것처럼 느껴진다

대신 멈추고 스스로에게 물어보라:

  • 이 문제가 실제로 테스트하는 패턴은 무엇인가?
  • 어떤 불변식이 유지되고 있는가?
  • 어떤 제약이 이 접근법을 강요하는가?

그럼 반복은 좌절이 아니라 장점이 된다. 문제를 더 일찍 인식하게 되고—때로는 첫 번째 분 안에도. 그때 DSA가 관리 가능해진다.

What helped me the most

내게 가장 큰 변화를 가져온 것은 스스로에게 묻는 질문을 바꾼 것이다.

  • 이전: “이 문제를 풀 수 있을까?”
  • 이후: “이 문제가 어떤 패턴을 테스트하려는 걸까?”

그 질문에 답할 수 있게 되면, 나머지는 자연스럽게 따라온다:

  • 접근법
  • 엣지 케이스
  • 복잡도
  • 설명

코드 자체는 종종 가장 흥미롭지 않은 부분이 된다.

Why I’m leaning into this publicly

DSA가 대부분 구조화된 반복이라는 생각은 지금 내가 구축하고 있는 핵심이다—단축키나 트릭이 아니라 학습 과정을 덜 무작위하고 덜 위협적으로 만들기 위한 방법이다. 나는 패턴, 불변식, 그리고 그것들을 인식하는 방법을 한 곳에 정리하고 있다(indexedcode.com). 이 뉴스레터는 그 과정을 소리 내어 생각하는 공간이다.

What’s next

다음 글에서는 코드를 생각하기 전에, 보통 먼저 올바른 패턴을 어떻게 식별하는지에 대해 쓸 것이다. 마법은 아니다; 주로 제약, 키워드, 그리고 무시해야 할 것을 아는 것에 관한 것이다.

만약 최근 DSA가 반복적으로 느껴진다면, 그것은 좋은 신호일 가능성이 높다—구조를 보기 시작한 것이다.

Back to Blog

관련 글

더 보기 »