Just Fighting
[프로그래머스] 정수 삼각형 본문
728x90
https://programmers.co.kr/learn/courses/30/lessons/43105
코딩테스트 연습 - 정수 삼각형
[[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30
programmers.co.kr
< 문제 설명 >
위에서 부터 차례대로 합해 가장 큰 합를 리턴한다.
이때, 두 방향으로밖에 못내려감. 7 -> 3, 8 3 -> 8, 1
< 문제 이해 >
내려가면서 더하고, 더한 값이 원래 값보다 작으면 원래 값을 사용하는 dp 문제!
< 문제 풀이 >
def solution(triangle):
dp = [[0]*i for i in range(1,len(triangle)+1)] # dp배열 미리 만들어 놓음
dp[0][0] = triangle[0][0] # 맨 꼭대기
for i in range(0, len(triangle)-1):
for j in range(i+1):
dp[i+1][j] = max(dp[i][j] + triangle[i+1][j], dp[i+1][j])
dp[i+1][j+1] = max(dp[i][j] + triangle[i+1][j+1], dp[i+1][j+1])
return max(dp[len(triangle)-1])
728x90
'Algorithm > 코딩테스트 연습' 카테고리의 다른 글
[프로그래머스] 도둑질 (0) | 2022.03.10 |
---|---|
[프로그래머스] 등굣길 (0) | 2022.03.09 |
[프로그래머스] 입국심사 (0) | 2022.03.07 |
[프로그래머스] N으로 표현 (0) | 2022.03.05 |
[프로그래머스] 음양 더하기 (0) | 2022.02.11 |
Comments