[백준 1932 실버1] 정수 삼각형(DP/Python) 복습(-/1)

밀루·2023년 3월 31일
0

백준 문제풀이

목록 보기
15/51

n = int(input())
dp = []
for i in range(n):
    dp.append(list(map(int, input().split())))

k =2 
for i in range(1, n):
    for j in range(k):
        if j == 0:
            dp[i][j] = dp[i][j]+dp[i-1][j]
        elif j == i:
            dp[i][j] = dp[i][j] + dp[i-1][j-1]
        else:
            dp[i][j] = max(dp[i-1][j-1], dp[i-1][j])+dp[i][j]
    k+=1
    
print(dp)
print(max(dp[n-1]))

여기서 k 를 쓰는 테크닉때문에 좀 헷갈렸는데, 이 부분은 나중에 한 번 더 복습해보는게 좋을거같다.

profile
벨로그에 틀린 코드나 개선할 내용이 있을 수 있습니다. 지적은 언제나 환영합니다.

0개의 댓글