코린이의 소소한 공부노트

[LeetCode/Easy] 2500. Delete Greatest Value in Each Row 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2500. Delete Greatest Value in Each Row

무지맘 2023. 5. 5. 23:46

1. Input

1) int[][] grid

 

2. Output

1) grid에 다음 작업을 수행하면서 구한 값의 합을 반환

- 각 행에서 가장 큰 값을 제거한다. 가장 큰 값이 여러개라면, 그중 아무거나 하나 제거한다.

- 제거한 값 중 가장 큰 값을 합한다.

- 빈 배열이 될 때까지 수행한다.

 

3. Constraint

1) m == grid.length

2) n == grid[i].length

3) 1 <= m, n <= 50

4) 1 <= grid[i][j] <= 100

 

4. Example

Input: grid = [[1,2,4],[3,3,1]] -> Output: 8

설명:

- 각 행에서 가장 큰 값은 4,3 -> grid = [[1,2],[3,1]] -> 더하는 수는 4

- 각 행에서 가장 큰 값은 2,3 -> grid = [[1],[1]] -> 더하는 수는 3

- 각 행에서 가장 큰 값은 1,1 -> grid = [[],[]] -> 더하는 수는 1

 

5. Code

1) 첫 코드(2023/05/05)

class Solution {
    public int deleteGreatestValue(int[][] grid) {
        for(int i=0 ; i<grid.length ; i++)
            Arrays.sort(grid[i]);
        int sum = 0;
        for(int j=grid[0].length-1 ; j>=0 ; j--){
            int max = 0;
            for(int i=0 ; i<grid.length ; i++)
                if(grid[i][j]>max)
                    max = grid[i][j];
            sum += max;
        }
        return sum;
    }
}