코딩테스트/백준
[백준] 1932 정수 삼각형 / 파이썬(python)
Jiwon_C
2021. 6. 14. 23:45
# 문제 링크
https://www.acmicpc.net/problem/1932
1932번: 정수 삼각형
첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.
www.acmicpc.net
# Soultion
자신 위의 두 숫자중 큰 숫자를 더해주는 방식으로 문제해결
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
n = int(input())
li = []
for _ in range(n):
li.append(list(map(int,input().split())))
for i in range(1,n):
for j in range(len(li[i])):
if j==0:
li[i][j] += li[i-1][0]
elif j==len(li[i])-1:
li[i][j]+=li[i-1][-1]
else:
li[i][j] += max(li[i-1][j],li[i-1][j-1])
print(max(li[-1]))
|
cs |
3. 리스트에 정수 저장
6. 2번째 리스트부터 시작해서 최댓값을 저장
8. 만약 리스트에 첫번째 숫자라면 항상 그 위의 첫번째 인덱스아이만 더하므로 예외처ㅣㄹ
10. 리스트 마지막 인덱스도 동일하게
15. 최종적으로 누적해서 저장된 값 중에 최대값 출력