Koala - 15기/코딩테스트 준비 스터디
[백준/python] 1932: 정수 삼각
ㄱㅈㅅㅇ
2024. 7. 12. 15:19
n = int(input())
li= [list(map(int, input().split())) for _ in range(n)]
for i in range(1,n):
for a in range(len(li[i])):
if a == 0:
li[i][a]+=li[i-1][a]
elif a == i:
li[i][a]+=li[i-1][a-1]
else:
li[i][a]+=max(li[i-1][a], li[i-1][a-1])
print(max(li[n-1]))
처음칸은 안 변하니 다음 칸부터 본다. li에 더한 값을 저장할 것이다. 해당 열을 모두 보는데 첫 번쨰 값은 그냥 전 행 0번쨰 값을 더하고 저장. 끝 값들은 전행의 끝 값 더하고 끝 (선택지가 그거밖에 없음)
근데 다른 애들은 대각선 양옆중에 더 큰 애를 더해서 저장.
맨 바닥까지 와서 가장 큰 값 출력