기본적인 dp문제
현재 행보다 앞전 행에서 같은 인덱스인 값을 제외한 값들 중에 가장 큰 값을 더해가며 행을 내려온다
그리고 마지막 행에서 최댓값을 구하면 된다
def solution(land):
n = len(land)
dp = [[0]*4 for _ in range(n)]
dp[0] = land[0]
for i in range(1,n):
for j in range(4):
tmp = dp[i-1][:j]+dp[i-1][j+1:]
dp[i][j] = max(tmp)+land[i][j]
return max(dp[n-1])