PS/Programmers
[프로그래머스] 땅따먹기
RUBY_루비
2020. 10. 27. 23:59
출처:: programmers.co.kr/learn/courses/30/lessons/12913
분류:: dp
1. 문제 이해 및 해결과정
2. 풀이방법
1. [python] dp
def solution(land):
for i in range(len(land) - 1):
land[i + 1][0] = max(land[i][1], land[i][2], land[i][3]) + land[i+1][0] #i+1행 0열의 최대값(자신의 열 제외)
land[i + 1][1] = max(land[i][0], land[i][2], land[i][3]) + land[i+1][1]
land[i + 1][2] = max(land[i][0], land[i][1], land[i][3]) + land[i+1][2]
land[i + 1][3] = max(land[i][0], land[i][1], land[i][2]) + land[i+1][3]
return max(land[-1])
2. [python] 리스트
def solution(land):
for i in range(1, len(land)): #행
for j in range(len(land[0])):#j를 제외함 , 열
land[i][j] = max(land[i -1][: j] + land[i - 1][j + 1:]) + land[i][j]
return max(land[-1])
3. 오답원인
4. 알게된 점