프로그래머스 땅따먹기 - java


프로그래머스 땅따먹기 - java

dynamic programming이다. 익숙해지는 방법: 1. memoization을 생각한다(배열에 더해나간다). 2. 반대로 생각하는 방법을 training 한다 (위에서 아래로 더하는 방법 X, 현재 row에서 row-1 값들 중 최선을 선택 O). import java.math.*; class Solution { int solution(int[][] land) { // dynamic programming int[][] dp = new int[land.length+1][4]; // row에서 선택할 수 있는 row-1의 3개의 col 중에서 최선의 선택만 계속해서 반복해서 더한다 for (int i = 0 ; i <= land.length ; i++) { if (i < land.length) { dp[i][0] = land[i][0]; dp[i][1] = land[i][1]; dp[i][2] = land[i][2]; dp[i][3] = land[i][3]; } if (i > ...



원문링크 : 프로그래머스 땅따먹기 - java