99클럽 코테 스터디 23일차 TIL - 2차원 배열에서 최대값 찾기

수삼·2024년 11월 19일
0

코딩테스트

목록 보기
28/44

2차원 배열에서 최대값을 찾아 더해주는 문제다.

1. 정렬하기

class Solution {
    public int deleteGreatestValue(int[][] grid) {
        for (int i = 0; i < grid.length; i++) {
            Arrays.sort(grid[i]);
        }

        int answer = 0;
        int max = 0;

2. 최대값 찾기, 더해주기

        for(int i = 0; i < grid[0].length; i++) {
            for(int j = 0; j < grid.length; j++) {
                if (grid[j][i] > max) {
                    max = grid[j][i];
                }
            }
            answer += max;
        }
        return answer;
    }
}

Arrays.sort(grid[i], Collections.reverseOrder()) 못씀

처음에 내림차순 정렬을 시도하다가 reverseOrder()을 사용하지 못해서 그냥 오름차순으로 풀었다. 2차원 배열은 reverseorder()을 사용해 내림차순 정렬을 못쓰는데...그 이유는 기본형 배열이 객체가 아니라 원시 타입이기 때문이다. Integer형으로 변환하면 가능하다. 하지만 int형을 굳이 Integer로 변환하고 싶지 않았다

0개의 댓글