처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / 알고리즘 / 문제

알고리즘에서 '동적 프로그래밍(Dynamic Programming)'의 메모이제이션(Memoization)과 타뷸레이션(Tabulation)의 차이점으로 올바른 것은?

어려움 freeCodeCamp
보기 및 정답
A 메모이제이션은 하향식(Top-Down) 재귀 방식이고, 타뷸레이션은 상향식(Bottom-Up) 반복문 방식이다
B 메모이제이션은 모든 경우에 항상 타뷸레이션보다 빠른 실행 속도를 보장하며, 메모리도 적게 사용한다
C 타뷸레이션은 재귀 호출을 기반으로 하향식(Top-Down)으로 동작하고, 메모이제이션은 반복문을 사용하는 방식이다
D 메모이제이션과 타뷸레이션은 완전히 동일한 접근 방식이며, 구현 방법이나 성능에도 아무런 차이가 없다

해설

메모이제이션(Top-Down)은 재귀적으로 문제를 풀되 이미 계산한 결과를 캐시에 저장하여 재사용합니다. 타뷸레이션(Bottom-Up)은 가장 작은 부분 문제부터 반복문으로 테이블을 채워나갑니다. 메모이제이션은 필요한 부분만 계산하고, 타뷸레이션은 재귀 오버헤드가 없는 장점이 있습니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기