テストプログラマコード-整数三角形(Lv 3)
5952 ワード
問題を解く
計算方法の経路を逆方向に追跡すると、直接上から来てもよいし、横から来てもよいし、2つの場合であってもよい. の両端にあるのは例外処理です.
DPテーブルの簡単な問題を作成できます。
def solution(triangle):
n = len(triangle[-1])
dp = [[-1]*j for j in range(1,n+1)] # 테이블 생성
dp[0]=triangle[0]
# print(dp)
for i in range(n):
if i==0:
continue;
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]
return max(dp[-1])
Reference
この問題について(テストプログラマコード-整数三角形(Lv 3)), 我々は、より多くの情報をここで見つけました https://velog.io/@crosstar1228/프로그래머스-코딩테스트-정수-삼각형Lv3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol