[Python][프로그래머스][Level2] 땅따먹기

[Python][프로그래머스][Level2] 땅따먹기

코드

def solution(land):
    for x in range(1,len(land)):
        for y in range(len(land[0])):
            land[x][y]+=max([i for idx,i in enumerate(land[x-1]) if idx!=y])
    return max(land[-1])

dp로 풀었다.

이전 행에서 같은 column인 값을 제외하고 가장 큰 값과 더해주면 현재 위치에서 가장 큰 값이 된다.

따라서 이것을 2행 부터 계속해서 반복하면 알맞은 값을 얻을 수 있다.

Discussion and feedback