
[자료구조] 동적 계획법 - dp 2차원 배열로 좌표 이동하기 / Python 파이썬
·
python/자료구조 & 알고리즘
동적계획법 (다이나믹 프로그래밍)에 대해서 코딩 문제는 많이 푼 것 같지만 여러 유형의 dp 에 대해 다뤄보지 못한 것 같아 포스팅한다. 본 게시글은 해당 게시글의 내용 파이썬으로 변경하였다. 예를 들어 정수들이 저장된 nXn의 좌상단에서 우 하단 까지 이동하는 문제에서 오른쪽이나 하단으로만 이동이 가능하다는 조건으로 지나간 값들의 합이 최소가 되도록 하는 최적의 경로를 찾아보자. 0,0에서 i,j 까지 가는 방법은 2가지가 있다. i, (j-1)를 거쳐서 오거나 (i-1), j 로 오는 방법이다. 이렇게 거쳐서 오는 값들을 수식으로 확인해보면 다음과 같다. 그럼 파이썬으로 프로그래밍 하자. def mat(i,j): if i == 1 and j == 1: return m[i][j]; # 외길로 판단하여 ..