문제 설명
해결과정
Solution.java
class Solution {
int solution(int[][] land) {
int answer = -1;
int max = -1;
int maxIndex = -1;
for(int i = 1; i < land.length; i++) {
for(int j = 0; j < land[i].length; j++) {
land[i][j] += maxElement(land, i, j);
}
}
for(int i = 0; i < land[land.length-1].length; i++) {
if(answer < land[land.length-1][i]) {
answer = land[land.length-1][i];
}
}
return answer;
}
// 현재 행과 열을 기준으로 이전 행에서 현재 열을 제외한 값들중 가장 큰 값을 현재 원소에 더한다.
int maxElement(int[][] land, int i, int j) {
int max = -1;
for(int c = 0; c < land[i-1].length; c++) {
if(c != j && max < land[i-1][c]) {
max = land[i-1][c];
}
}
return max;
}
}
Java
복사