[프로그래머스] 땅따먹기 - (dp) c++

ha·2022년 1월 10일
0

프로그래머스

목록 보기
5/21

dp풀이

land[i][j] = (i,j)까지 오는 최대 경로 저장

01 | 02 | 03 | 05
10 | 11 | 12 | 11
16 | 15 | 13 | 13

{
    int answer = 0;
    
    for(int i=0;i<land.size()-1;i++){
        land[i+1][0] += max(land[i][1],max(land[i][2],land[i][3]));
        land[i+1][1] += max(land[i][0],max(land[i][2],land[i][3]));
        land[i+1][2] += max(land[i][0],max(land[i][1],land[i][3]));
        land[i+1][3] += max(land[i][0],max(land[i][1],land[i][2]));
    }
    answer = max(land[land.size()-1][0], max(land[land.size()-1][1], max( land[land.size()-1][2], land[land.size()-1][3] )));
    return answer;
}

0개의 댓글