Softeer Level4: 복잡한 조립라인1 (Dynamic Programmin / with Python)
3차원 DP를 사용해야하는 문제였다. data[i-1][n][m]이 뜻하는 것은, i-1번째 작업을 하는 라인들에서, n번 라인에서 일을 하고, m번 라인으로 이동해 다음 작업을 하려고 할 때 드는 비용 ( m번 라인으로 이동하는 비용까지 포함) 이렇게 하나의 2차원 배열 ( data[i] ) 하나를 완성하면, 그 윗칸 ( data[i + 1] )을 이어서 완성시키면 되는데, data[i + 1][n][n] ( n은 0 ~ 라인 수 )에 data[i][][n] ( 배열에서 세로 부분 ) 중 최솟값을 구해 더해주고 시작한다.
Python알고리즘
2023. 10. 2. 01:30