https://school.programmers.co.kr/learn/courses/30/lessons/43105?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int solution(int[][] triangle) {
// DP 배열을 삼각형의 마지막 행 크기로 초기화
int[] DP = new int[triangle[triangle.length - 1].length];
// 맨 마지막 행을 먼저 DP에 복사
for (int i = 0; i < triangle[triangle.length - 1].length; i++) {
DP[i] = triangle[triangle.length - 1][i];
}
// 아래에서 위로 DP 계산
for (int i = triangle.length - 2; i >= 0; i--) {
for (int j = 0; j < triangle[i].length; j++) {
// 현재 위치에서 아래층의 두 값 중 큰 값 더하기
DP[j] = triangle[i][j] + Math.max(DP[j], DP[j + 1]);
}
}
// 최종적으로 DP[0]에는 최대 경로 합이 저장됨
return DP[0];
}
}
'Algorithm & Data Structures > Programers' 카테고리의 다른 글
Lv 3. 야근 지수 (0) | 2024.09.22 |
---|---|
Lv 3. 네트워크 (0) | 2024.09.21 |
Lv 3. 이중우선순위큐 (0) | 2024.09.18 |
Lv 2. 후보키 (2) | 2024.09.16 |
Lv 2. 점찍기 (0) | 2024.09.12 |