# 14분 소요
- 사용 알고리즘 : Dynamic Programming(동적 계획법)
- (가장 아래 행-1) 행부터 가장 아래 행의 값들을 참고해 더 큰 값을 선택해 더하면서 현 위치 값을 갱신해 올라온다.
- 가장 상단 행까지 값을 모두 채우면 첫 값(triangle[0][0])을 리턴한다.
파이썬 코드는 다음과 같다.
def solution(triangle):
for r in range(len(triangle)-2, -1, -1):
for c in range(r+1):
triangle[r][c] += max(triangle[r+1][c], triangle[r+1][c+1])
return triangle[0][0]
- 고찰 : DP는 풀수록 조금씩 느는 것 같다?.. 늘겠지?? 늘거다!!
'Problem Solving > programmers' 카테고리의 다른 글
[Programmers] 수식 최대화(Python) / 2020 카카오 인턴십 (0) | 2021.05.08 |
---|---|
[Programmers] 등굣길(Python) / Dynamic Programming (0) | 2021.05.03 |
[Programmers] 큰 수 만들기(Python) / Greedy (0) | 2021.02.26 |
[Programmers] SQL 고득점 Kit - JOIN (0) | 2021.02.26 |
[Programmers] SQL 고득점 Kit - String, Data (0) | 2021.02.26 |