[알고리즘] Java로 배우는 Dynamic Programming(동적 계획법) - feat.백준(계단 오르기)
·
알고리즘
Dynamic Programming(동적 계획법)DP(동적 계획법)는 특정 범위까지의 값을 구하기 위해 그것과 다른 범위까지의 값을 이용해 효율적으로 값을 구하는 알고리즘 설계 기법이다. 즉, 큰 문제를 작은 문제로 나누어 푸는 알고리즘을 의미한다. DP 구현 방식은 4가지가 있다.메모이제이션(memoization) 방법: 모든 작은 문제들을 한 번만 계산해서 DP에 저장하며, 저장한 값을 재사용 하는 방법타뷸레이션(Tabulation) 방법: 작은 문제부터 순차적으로 계산하며 상위로 올라가는 방법탑 다운: 큰 문제에서 작은 하위 문제들을 확인해가며 진행하는 방법바텀 업: = 타뷸레이션 동적 계획법은 분할 정복과 비슷해보이지만 차이점이 있다.분할 정복의 경우 분할된 하위 문제가 동일하게 중복이 일어나지 ..