Swift알고리즘
백준 2579: 계단오르기 (Swift)
앱등개발자IOS
2022. 6. 3. 15:04
전형적인 DP문제이다.
한가지 포인트는, dp배열이 하나의 원소만을 갖고있는 것이 아니라, [0,0]과 같이 두개의 원소로 초기화되어있는 것.
해당 칸이 i번째 칸이라면,
앞쪽 인덱스는, i-2번 칸에서 i번 칸으로 진행해왔을 때의 최댓값.
뒷쪽 인덱스는, i-1번 칸에서 i번 칸으로 진행해왔을 때의 최댓값이다.
이렇게 나누어 저장한 이유는, "3개의 연속된 계단"을 밟으면 안되기 때문에, 이를 점화식에서 방지해주기 위함이다.