본문 바로가기
Programming

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

by 데이터현 2021. 11. 7.

https://programmers.co.kr/learn/courses/30/lessons/12913

 

코딩테스트 연습 - 땅따먹기

땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟

programmers.co.kr

DP 유형의 문제다.

 

dp[i][j] 는 (i , j)의 위치에서 가장 큰 경우다.

 

나의 풀이

def solution(land):
    dp = [[0]*4 for _ in range(len(land))]
    for i in range(4):
        dp[0][i] = land[0][i]
    for i in range(1,len(land)):
        for j in range(4):
            dp[i][j] = max(dp[i-1][:j]+dp[i-1][j+1:])+land[i][j]
    return max(dp[len(land)-1])

댓글