728x90
https://programmers.co.kr/learn/courses/30/lessons/43105
3레벨 문제는 아닌거같음
한 2레벨정도?
탑다운으로 풀면 훠얼씬 쉽게 풀 수 있지만 바텀업 연습을위해 바텀업으로 풀었음
dp[ i ][ j ] = max(그 위에 있는 고를 수 있는 값) + triangle[ i ][ j ]임
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
def solution(triangle):
dp = [[0 for j in range(len(triangle))] for i in range(len(triangle))]
dp[0][0] = triangle[0][0]
for i in range(1, len(triangle)):
for j in range(len(triangle[i])):
if j == 0:
dp[i][j] = dp[i - 1][j] + triangle[i][j]
elif j == len(triangle[i]) - 1:
dp[i][j] = dp[i - 1][j - 1] + triangle[i][j]
else:
dp[i][j] = max(dp[i - 1][j - 1], dp[i - 1][j]) + triangle[i][j]
answer = max(dp[-1])
return answer
|
cs |
728x90
'PS > 프로그래머스' 카테고리의 다른 글
[프로그래머스 LV 3] 가장 먼 노드 (파이썬/python) (0) | 2021.06.21 |
---|---|
[프로그래머스 LV 3 ] 등굣길 (파이썬/python) (0) | 2021.06.21 |
[프로그래머스 LV 3] 여행경로 (파이썬/python) (0) | 2021.06.21 |
[프로그래머스 LV 3] 단어 변환 (파이썬/python) (0) | 2021.06.19 |
[프로그래머스 LV 3] 베스트앨범 (파이썬/python) (0) | 2021.06.19 |