[Python] 프로그래머스 - 정수 삼각형
728x90
반응형
programmers.co.kr/learn/courses/30/lessons/43105
1. 먼저 triangle 배열과 같은 모양의 dp 2차원 배열을 만든다.
2. 마지막 줄부터 올라갈 것이므로 dp의 마지막줄은 triangle의 마지막 줄과 같게 만들어준다.
3. 마지막에서 두번째 줄부터해서 dp[i][j]에 (밑의 두 숫자 중 큰 값 + triangle[i][j]값)을 넣어준다.
4. 최종적으로 맨 윗줄에 최댓값이 저장되므로 dp[0][0]을 return해준다.
def solution(triangle):
length = len(triangle)
dp = [[0] * i for i in range(1, length + 1)]
for i in range(length):
dp[length - 1][i] = triangle[length - 1][i]
for i in range(length - 2, -1, -1):
for j in range(i + 1):
dp[i][j] = max(dp[i + 1][j] + triangle[i][j], dp[i + 1][j + 1] + triangle[i][j])
return dp[0][0]
(프로그래머스 level 2)
728x90
반응형
'문제풀이 > Programmers' 카테고리의 다른 글
[Python] 프로그래머스 - 소수 만들기 (0) | 2021.04.13 |
---|---|
[Python] 프로그래머스 - 뉴스 클러스터링 (0) | 2021.04.10 |
[Python] 프로그래머스 - 주식가격 (0) | 2021.04.06 |
[Python] 프로그래머스 - 소수 찾기 (0) | 2021.04.05 |
[Python] 프로그래머스 - 가장 먼 노드 (0) | 2021.04.04 |
TAGS.