❓  문제

땅따먹기

 

🛎️  아이디어

1. 2번째 행부터 돌면서 윗 줄의 최댓값을 더해준다. 단 본인 열은 제외한다.

2. 마지막행에서는 이전 행까지의 최댓값들을 더한 값이 있음. 따라서 마지막행에서의 max값을 리턴한다.

 

💻  풀이

def solution(land):
  row = len(land)
  column = len(land[0])

  for r in range(1, row):
    for c in range(column):
      land[r][c] += max(land[r - 1][:c] + land[r - 1][c + 1:])

  return max(land[row - 1])

print(solution([[1,2,3,5],[5,6,7,8],[4,3,2,1]]))

 

+ Recent posts