문제 설명 및 제한사항
아이디어 및 해결 방법
코드
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