Coding - Algo/python
[프로그래머스] 땅따먹기 (python 파이썬)
jainn
2021. 5. 28. 12:55
728x90
문제
https://programmers.co.kr/learn/courses/30/lessons/12913
코딩테스트 연습 - 땅따먹기
땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟
programmers.co.kr
풀이 및 소스코드
dp를 사용해 풀었다.
dp[0]에는 land[0]을 넣어주고 그 밑 부터는 dp[i][j] = max(dp[i-1][j]+land[i][j], dp[i][j]) 를 통해 비교해가며 최고점을 만들어간다.
def solution(land):
answer = 0
dp = [[0 for _ in range(len(land[0]))] for _ in range(len(land))]
for i in range(len(land)):
for j in range(len(land[0])):
if i == 0:
dp[i][j] = land[i][j]
continue
else:
for k in range(len(land[0])):
if j == k:
continue
dp[i][j] = max(dp[i][j], dp[i-1][k]+land[i][j])
answer = max(dp[-1])
return answer
반응형