せいすうさんかくけい
🔗 質問リンク
https://programmers.co.kr/learn/courses/30/lessons/43105
問題の説明
上の三角形の上部から下部へのパスでは、最大のマージ数を検索します.セルを下に移動する場合は、1つのセルの右または左側のみが対角線方向に移動できます.たとえば、3では、次のセルの8または1にのみ移動できます.
三角形情報を含む配列三角形をパラメトリック化する場合は、解いた関数を完了して、経過した数値の最大値を返します.
⚠▼制限
三角形の高さは1または500以下です.
三角形を構成する数字は0または9999を超えない.
💡 プール(言語:Python)
DP問題で解決しました.以前は漠然と関連の考えを見ていたので、簡単に解けたのを覚えています.
def solution(triangle):
for i in range(1, len(triangle)):
for j in range(len(triangle[i])):
# 삼각형 왼쪽 변 부분
if j == 0:
triangle[i][j] += triangle[i-1][j]
# 삼각형 오른쪽 변 부분
elif j == len(triangle[i])-1:
triangle[i][j] += triangle[i-1][j-1]
# 삼각형 중간 부분
# 윗줄 두 수 중 최대값 하나만 더해줌
else:
triangle[i][j] += max(triangle[i-1][j-1], triangle[i-1][j])
# 마지막 행 최대값 = 총 최대값 케이스
return max(triangle[-1])
Reference
この問題について(せいすうさんかくけい), 我々は、より多くの情報をここで見つけました https://velog.io/@shiningcastle/정수-삼각형テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol