Contents
내가 작성한 코드
내가 작성한 코드
class Solution {
int solution(int[][] land) {
int n = land.length;
// 두 번째 행부터 마지막 행까지 반복
for (int i = 1; i < n; i++) {
for (int j = 0; j < 4; j++) { // 열은 항상 4개
int max = 0;
// 바로 위 행에서 같은 열을 제외한 가장 큰 값을 찾음
for (int k = 0; k < 4; k++) {
if (j == k) continue; // 같은 열은 연속해서 밟을 수 없으므로 제외
max = Math.max(max, land[i - 1][k]); // 최댓값 갱신
}
// 현재 위치에 위에서 선택된 최댓값을 누적
land[i][j] += max;
}
}
int answer = 0;
// 마지막 행에서 최대값을 찾아 반환
for (int i = 0; i < 4; i++) {
answer = Math.max(answer, land[n - 1][i]);
}
return answer;
}
}
Share article