Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[프로그래머스] Lv.3 정수 삼각형 [Python, 파이썬] 본문
- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/43105
- DP(Dynamic Programming) 동적 프로그래밍 문제
- 삼각형의 꼭대기에서부터 바닥까지 값을 누적해나가고 바닥에 있는 값 중 가장 큰 값을 리턴
def solution(triangle):
answer = 0
for i in range(1, len(triangle)): # 꼭대기에서 한칸 밑 부터 시작
for j in range(len(triangle[i])):
if j == 0: # 가장 왼쪽 값이면 위 칸의 가장 왼쪽 값을 더한다.
triangle[i][j] += triangle[i-1][j]
elif j == len(triangle[i]) - 1: # 가장 오른쪽 값이면 위 칸의 가장 오른쪽 값을 더한다.
triangle[i][j] += triangle[i-1][j-1]
else: # 중간에 있는 값이면 위에 두 숫자 중 큰걸 더한다.
triangle[i][j] += max(triangle[i-1][j-1], triangle[i-1][j])
answer = max(triangle[-1]) # 마지막 리스트에서 최대값
return answer
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.3 입국심사 [Python, 파이썬] (0) | 2023.03.31 |
---|---|
[프로그래머스] Lv.2 이진 변환 반복하기 [Python, 파이썬] (0) | 2023.03.31 |
[프로그래머스] Lv3. 여행경로 [Python, 파이썬] (0) | 2023.03.24 |
[프로그래머스] Lv.3 아이템 줍기 [Python, 파이썬] (0) | 2023.03.24 |
[프로그래머스] Lv.3 가장 먼 노드 (그래프) [Python, 파이썬] (0) | 2023.03.17 |
Comments