다이나믹 프로그래밍 계단오르기 (1) 썸네일형 리스트형 [인프런 자바/java] 1. 계단오르기 _디버깅의 눈물 체크 포인트 1. 다이나믹 프로그래밍(Dynamic Programming, 동적계획법)을 이용 -큰 문제를 여러 가지 작은 문제로 나누어 해결해보는 DP를 이용했다. -예를 들어, 1계단을 오르는 경우의 수 = 1 2계단을 오르는 경우의 수 = 2 를 구한 후, 3계단을 오르는 경우의 수는 1계단에서 오는 경우와 2계단에서 오는 경우의 합인 것을 통해 해결했다. 1계단에서 2칸을 오르거나, 2계단에서 1칸을 오르면 3계단에 오를 수 있기 때문이다. 이를 통해 N계단을 오르는 경우의 수 = N-1계단을 오르는 경우의 수 + N-2계단을 오르는 경우의 수 임을 추론할 수 있었다. 2. Top-down(탑다운) 방식, Bottom-up(바텀업) 방식 -다이나믹 프로그래밍에는 크게 1)Top-down(탑다운) .. 이전 1 다음