[DP] 다이나믹 프로그래밍, 어렵게 느껴졌다면 이 영상으로 감 잡아보세요
안녕하세요, 우아한테크코스 백엔드 6기 폭포입니다. 우테코를 하면서 진행한 테코톡에서 다이나믹 프로그래밍(DP)을 주제로 발표를 했고, 그 내용이 영상으로 정리되어 유튜브에 업로드되어 있습니다.
🎤 왜 이 주제를 선택했는가?
저 역시 처음엔 DP가 막연하게 어렵게 느껴졌습니다. “작은 문제로 나눈다”, “점화식을 세운다”는 말은 들었지만, 실전 문제 앞에서는 항상 “뭘 기준으로 나누는 거지?”, “이게 정말 DP인가?”하는 생각이 들었습니다.
그래서 이 발표에서는 이론적인 설명보다 ‘구조적인 사고 방법’을 중심으로 정리해봤습니다. 이 영상 하나로 DP를 완벽히 마스터할 순 없지만, 적어도 어디서부터 출발해야 하는지, 생각을 어떻게 시작해야 하는지는 잡을 수 있을 겁니다.
🧭 영상에서 다루는 내용
- DP의 본질은 메모이제이션이다
- 한 번 계산한 결과를 저장하고 재사용하는 방식에서 출발합니다.
- 예제를 통해 점화식 도출 과정을 구조적으로 따라가기
- 백준의
01타일
,쉬운 계단 수
문제를 통해 상태 정의 -> 관계 분석 -> 점화식 도출로 이어지는 흐름을 정리했습니다.
- 백준의
- 이 문제가 DP인지 어떻게 알 수 있을까?
- 실전에서는 문제 분류가 없기 때문에, 시간복잡도와 본인만의 알고리즘 프로시저로 접근하는 방법을 제시했습니다.
🗂️ 예제 문제 링크
📌 이런 분들께 추천드려요
- DP 개념은 알지만 직접 적용이 잘 안 되는 분
- 점화식을 세우는 게 늘 막막한 분
- 문제를 보고 이게 DP 문제인지 판단하는 기준이 없는 분
- 알고리즘을 단순 암기보다 구조적으로 이해하고 싶은 분
💬 영상을 통해 전달하고 싶은 메시지
DP는 ‘공식 외우기’가 아닙니다. 중요한 건 상태 정의와 관계 분석, 그리고 한 번 계산한 결과를 재활용할 수 있는가라는 본질입니다.
“현재 상태는 과거 상태에서 어떤 ‘행동’을 한 결과이다.”
이 관점이 잡히면, DP는 생각보다 훨씬 더 명확해집니다.
짧지만 핵심만 담았습니다. 혹시 DP에 대한 두려움이 있다면, 이번 기회에 시야를 확장해보셨으면 좋겠습니다. 감사합니다.
댓글남기기