728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12913
풀이
- 우선순위 큐 사용
코드
import java.util.*;
class Solution {
int solution(int[][] land) {
int answer = 0;
for(int i = 1; i < land.length; i++){
// 현재 밟은 칸을 제외한 값 저장
land[i][0] += Math.max(land[i - 1][1], Math.max(land[i - 1][2], land[i - 1][3]));
land[i][1] += Math.max(land[i - 1][0], Math.max(land[i - 1][2], land[i - 1][3]));
land[i][2] += Math.max(land[i - 1][1], Math.max(land[i - 1][0], land[i - 1][3]));
land[i][3] += Math.max(land[i - 1][1], Math.max(land[i - 1][2], land[i - 1][0]));
}
// 마지막 칸 값만 저장
int[] tmp = land[land.length-1];
// 오름차순 정렬
Arrays.sort(tmp);
// 가장 큰 값
return tmp[tmp.length-1];
}
}
728x90
'알고리즘 풀이' 카테고리의 다른 글
[프로그래머스] 더 맵게 자바(Java) (0) | 2023.04.11 |
---|---|
[프로그래머스] 피로도 자바(Java) (0) | 2023.04.06 |
[프로그래머스] 연속 부분 수열 합의 개수 자바(Java) (0) | 2023.04.05 |
[프로그래머스] n^2 배열 자르기 자바(Java) (0) | 2023.04.04 |
[프로그래머스] 위장 자바(Java) (0) | 2023.04.03 |
댓글