본문 바로가기

Programmers/Level2

땅따먹기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.*;
class Solution {
    int solution(int[][] land) {
        int answer = 0;
        int row = land.length, col = land[0].length;
 
        for (int i = 1; i < row; i++) {
            for (int pos = 0; pos < col; pos++) {
                int max = 0;
                for (int j = 0; j < col; j++) {
                    // 같은 열인 경우 제외
                    if (j == pos)
                        continue;
                    // 윗줄에서 가장 큰 값을 저장
                    if (max < land[i - 1][j])
                        max = land[i - 1][j];
                }
                land[i][pos] += max;
            }
        }
        // 마지막 행 오름차순 정렬
        Arrays.sort(land[row - 1]);
        // 최대 값 저장
        answer = land[row - 1][col - 1];
        return answer;
    }
}
cs

현재 칼럼을 제외한 윗줄에서 가장 큰 값을 더해가며 저장하는 코드이다.

'Programmers > Level2' 카테고리의 다른 글

피보나치 수  (0) 2021.07.30
N개의 최소공배수  (0) 2021.07.30
스킬트리  (0) 2021.07.30
[3차] 파일명 정렬  (0) 2021.07.30
예상 대진표  (0) 2021.07.30