https://www.acmicpc.net/problem/1932
import sys
input = sys.stdin.readline
def main():
n = int(input().strip())
board = [list(map(int,input().split())) for _ in range(n)]
for i in range(n):
if i == 0:
continue
for j in range(i+1):
if j == 0:
board[i][0] += board[i-1][0]
continue
if j == i:
board[i][j] += board[i-1][j-1]
continue
board[i][j] += board[i-1][j] if board[i-1][j] > board[i-1][j-1] else board[i-1][j-1]
print(max(board[n-1]))
# 1일때 예외 생각
main()
위에서부터 해서 더 큰거를 가지고 내려왔다. 처음부분과 끝 부분은 예외처리를 해주고 나머지는 더 큰 수를 가지고 내려가면서 진행했다.
'백준 문제 풀이 및 피드백' 카테고리의 다른 글
23.03.11 패션왕 신해빈 [PYTHON] (0) | 2023.03.11 |
---|---|
2023.03.03 구간 합 구하기 5[PYPY] (1) | 2023.03.03 |
2023.01.29 RGB거리 백준[파이썬] (0) | 2023.01.29 |
2023.01.28 예산 백준[파이썬] (0) | 2023.01.28 |
2023.01.28 절댓값 힙 [파이썬] (0) | 2023.01.28 |