programmers.co.kr/learn/courses/30/lessons/12913
dp + 슬라이딩 윈도우로 해결할 수 있습니다.
현재 칸에서 어떤 칸을 밟을지 결정할 때는 오직 '이전 칸'의 정보만 가지고 있으면 되므로
dp테이블은 dp[2][N] 크기만 가져도 됩니다.
dp 점화식은 dp[i+1][N] = max(dp[i][0], dp[i][1], dp[i][2], ... , dp[i][N-1]) + score[i+1][N] 입니다.
즉, N열이 아닌 이전 칸 중에 최댓값 + 이번 칸의 값을 더하면 점화식이 됩니다.
코드: github.com/cottory/algorithm/blob/master/PROGRAMMERS/PG12913.cc
'Algorithm > Programmers' 카테고리의 다른 글
[2020 카카오 기출] 동굴 탐험 (0) | 2020.09.10 |
---|---|
[2020 카카오 기출] 외벽 점검 (0) | 2020.09.10 |
[2018 카카오 기출] 추석 트래픽 (0) | 2020.09.09 |
[코딩테스트 연습] 게임 맵 최단거리 (0) | 2020.09.07 |
[코딩테스트 연습] 가장 긴 팰린드롬 (0) | 2020.09.01 |