Search
Duplicate

땅따먹기

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

def solution(land): # Bottom-up DP로 풀어야 시간 초과가 나지 않는다. R, C = len(land), len(land[0]) dp = [[-1 for _ in range(C)] for _ in range(R)] for c in range(C): dp[0][c] = land[0][c] for r in range(1, R): for c in range(C): dp[r][c] = max(dp[r-1][i] for i in range(C) if i != c) + land[r][c] return max(dp[R-1][c] for c in range(4))
Python
복사

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges