수년간 배워온 DSA와 수학에 대한 생각

발행: (2026년 3월 19일 오후 04:00 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

소개

요즘 어떤 생각을 많이 하고 있는데, 아직 완전히 정리된 건 아니라서 조언이라기보다 생각을 소리 내어 하는 느낌이에요.

인터뷰가 다가올 때마다 Striver’s sheet를 다시 꺼내서 처음부터 다시 시작합니다. 이미 풀어본 문제들을 다시 풀어보죠. 풀면서 “아, 이건 이미 알아” 하는데, 몇 주가 지나면 기억이 사라집니다. 코드뿐 아니라 접근 방식까지도요. 그래서 다시 처음부터 시작하게 됩니다.

제 경우 문제는 DSA를 배우는 방식에 있다고 생각해요. 매우 패턴 중심이죠:

  • 이건 슬라이딩 윈도우
  • 이건 프리픽스 합
  • 이건 투 포인터

그 전체 게임은 다음과 같습니다:

“문제에서 이 패턴을 인식할 수 있겠는가?”

하지만 문제가 조금이라도 변형되면 뇌가 바로 “아니야 👍” 라고 외칩니다.

어릴 때 우리는 수학을 이렇게 배우지 않았어요. 추상적인 것이 아니라 사과, 돈, 주변 사물을 세는 것이었죠. 눈에 보였어요. 지금은 모든 것이 기호, 트릭, 패턴이 되고, 그 과정에서 실제 생활에서 보는 눈을 잃어버린 것 같습니다.

다른 관점

“문제 → 패턴”

을 하는 대신에

“패턴 → 실제 생활에서 어디에 존재하는가?”

를 시도해 보면 어떨까요?

즉, 문제에서 패턴을 인식하는 것이 아니라 그 패턴을 현실 세계 상황과 연결하는 겁니다.

예시 1: Subarray Sum = K

전형적인 사고 단축키: “프리픽스 합 + 해시맵 👍 완료”. 두 주가 지나면: “해시맵이 뭐였지?? 😭”.

현실 세계 비유: CPU 사용량을 시간마다 모니터링하고 매초 사용량을 기록한다고 가정해 보세요. 가끔 사용량이 90 %까지 급증하고 시스템이 리셋을 트리거합니다. 디버깅 중에 어떤 연속된 시간 구간이 이 급증을 일으켰는지 찾고 싶어합니다.

본질적으로 다음을 수행합니다:

  1. 사용량을 누적
  2. 시간을 스캔
  3. 총합이 90이 되는 연속 구간을 찾음

그 구간을 찾으면 → 그게 원인 → 그게 리셋 트리거가 됩니다.

이는 문자 그대로 subarray‑sum‑equals‑k 문제이지만, “패턴을 적용한다”기보다 “자연스럽게 하는 일”처럼 느껴집니다.

예시 2: Minimum Window Substring

전형적인 사고 단축키: “슬라이딩 윈도우, 빈도 맵, 유효하면 축소”. 결과: 10일 뒤에 기억 상실 💀.

현실 세계 비유: 요리를 하고 있다고 생각해 보세요. 사용할 수 있는 재료 목록이 길게 있습니다(그것이 s). 목표는 필요한 모든 재료를 포함하면서 가장 작은 부분집합을 찾는 것입니다.

따라서 다음을 수행합니다:

  1. 재료를 계속 선택
  2. “모두 갖추었는가?” 확인
  3. 다 갖추었으면 → 불필요한 부분을 제거 시도
  4. 충분히 작아질 때까지 계속 축소

이는 문자 그대로 “확장 → 만족 → 축소 → 최적화”이지만, “기법”이라기보다 상식에 가깝게 느껴집니다.

내가 말하고 싶은 핵심

문제는 연습 부족이나 기억력 문제라기보다,

“한 번도 직접 경험해 보지 않은 패턴을 외우려 하고 있다”

는 것일 수도 있습니다.

시도해 보고 싶은 변화

“이 패턴은 무엇인가?”

를 묻는 대신에

“이 상황은 실제 생활에서 어디에 나타날까?”

를 물어보는 겁니다.

아직 효과가 있는지는 모르겠지만, 같은 시트를 계속 반복하고, 인터뷰마다 처음부터 다시 시작하거나, 나중에 기억이 안 나는 것을 “알고 있다”고 가장하는 것보다 더 오래 기억에 남을 것 같은 느낌이 듭니다.

몇 가지 문제로 직접 시도해 볼 예정입니다. 최악의 경우: 아무 변화도 없을 겁니다.


이와 비슷한 방법을 시도해 보았고 효과가 있었다면, 댓글로 알려 주세요!

0 조회
Back to Blog

관련 글

더 보기 »

파일 시스템이 디버깅하기 어려운 이유

동기 부여 나는 파일 시스템을 처음부터 구축하고 있다—필요해서가 아니라, 보이지 않는 것을 디버깅하는 것이 추측에 불과하기 때문이다. 파일 시스템을 이해하는 l...

블루 틱이 표시된 메시지, 그러나 도착하지 않음

소개 WhatsApp에서 메시지가 전달 및 읽음으로 표시되지만 AI 에이전트가 해당 메시지를 전혀 확인하지 못한다면, 이는 무음 메시지 손실 문제입니다. 이 기사에서는 이러한 문제에 대한 전문적인 해결책을 제시합니다.