[BAKJOON] #3896. 소수 사이 수열 (이진 탐색)
BAKJOON #3896. 소수 사이 수열 문제를 파헤쳐보자 :)
BAKJOON #1932. 정수 삼각형 문제를 파헤쳐보자 :)
7 3 8 8 1 0 2 7 4 4 4 5 2 6 5
import sys input = sys.stdin.readline def solve(): n = int(input()) triangle = [list(map(int, input().split())) for _ in range(n)] # 첫 번째 줄은 초기값 그대로 dp = [row[:] for row in triangle] # triangle 복사해도 됨 for i in range(1, n): for j in range(i+1): if j == 0: dp[i][j] = dp[i-1][j] + triangle[i][j] elif j == i: dp[i][j] = dp[i-1][j-1] + triangle[i][j] else: dp[i][j] = max(dp[i-1][j-1], dp[i-1][j]) + triangle[i][j] print(max(dp[n-1])) if __name__ == "__main__": solve()