RUBY

[프로그래머스] 땅따먹기 본문

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. 알게된 점

 

Comments