99클럽 코테 스터디 23일차 TIL -leetcode2500 delete-greatest-value-in-each-row

Gaeng·2024년 11월 20일
post-thumbnail

문제 해결 과정

1) 배열의 값을 Arrays.sort를 통해 행(row)을 기준으로 오름차순 정렬한다.
2) row와 col은 각각 행(row)열(column)을 의미한다.
3) col(열)을 기준으로 탐색하면서, 각 열에서 최대값을 찾기 위해 행(row)을 두 번째 반복문으로 돌린다.
4) 각 열에서 최대값을 구한 뒤, 이를 결과값(result)에 더하여 반환한다.

느낀점

문제를 해결 할 때 다양한 방법으로 할 수 있다.

코드

class Solution {
    public int deleteGreatestValue(int[][] grid) {
                  int m = grid.length;
            int n = grid[0].length;
            int result = 0;
           for (int i = 0; i < grid.length; i++) {
               Arrays.sort(grid[i]);
           }
           for(int col = n-1; col >= 0; col-- ){
               int maxInColumn = 0;
               for(int row = 0; row<m; row++){
                   maxInColumn = Math.max(maxInColumn, grid[row][col]); 
               }
               result += maxInColumn;
           }
            return result;
        }
    }   
profile
문제를 해결하면서 나온 문제를 기록하는 노트

0개의 댓글