코딩테스트 풀이/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;
}
}