취준생의 코딩테스트 연습기

[프로그래머스] 정수 삼각형 / 파이썬(python) 본문

코딩테스트/프로그래머스

[프로그래머스] 정수 삼각형 / 파이썬(python)

Jiwon_C 2021. 5. 27. 02:07

# 문제 링크

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

# Soultion

2번째 줄부터 차례대로 큰 수를 찾아 업데이트 시키는 방법

1
2
3
4
5
6
7
8
9
10
11
12
def solution(triangle):
    
    for i in range(1,len(triangle)):
        for j in range(len(triangle[i])):
            if j==0:
                triangle[i][j] += triangle[i-1][0]
            elif j==len(triangle[i])-1:
                triangle[i][j] += triangle[i-1][-1]
            else:
                triangle[i][j] += max(triangle[i-1][j-1],triangle[i-1][j])
                
    return max(triangle[-1])
cs
 

5. 만약 첫번째 원소이면, 위에 원소가 1개뿐이므로 따로 처리해준다.

7. 마지막 원소이면, 위와 동일하게 따로 처리

10. 위의 두개의 원소를 비교하여 더 큰 값을 더해준다.

12. 마지막줄의 제일 큰 값 출력

Comments