코딩테스트
[프로그래머스(Programmers)/Level2](Python) 땅 따먹기
전종구
2020. 7. 21. 15:56
<내 코드>
<문제풀이>
다이나믹 프로그래밍을 이용하여 한행 한행 내려갈때마다 이전까지의 계산값이 최대가 되는 수를 반영한다.
값을 선택한 행의 바로 아래행에서는 동일한 열의 값을 사용할 수 없으므로 i행j열일 경우 i-1행의 해당 열을
제외한 부분에서의 최댓값을 해당 i행j열의 값에 더해주면서 내려가면 결국 마지막행의 최댓값이 답이 된다.
<느낀점>
앞서 공부했던 dp를 복습 할 수 있어 좋았고, 비교적 생각하기 쉬운 dp 문제였다.(dp는 좀 느리긴 하겠지만 이런 문제와 같이 특수한 조건(연속한 열을 고를수 없다 등 예외가 많이 발생할 수 있는 상황)이 주어진 경우 아주 유용한 것 같다.