알고리즘
[프로그래머스, 파이썬] 땅따먹기
hminor
2024. 3. 13. 11:29
반응형
풀이
- 해당 문제는 DP를 활용한 문제로
- 해당 유형의 DP는 자주 사용하는 방식이기에 꼭 기억하고 있으면 좋다.
- for을 활용하여 1번째 인덱스의 land 위치에서 이전 값에서
- 현재 j의 인덱스 위치가 아닌 값들 중 가장 큰 값을 현재 값에 누적합하여
- 최종적으로 마지막 land의 배열 중 가장 큰 값을 전달하여 해결하는 방법
def solution(land):
for i in range(1,len(land)):
for j in range(4): land[i][j] += max(land[i-1][:j]+land[i-1][j+1:])
return max(land[-1])