문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
양의 정수로 구성된 m x n 행렬 grid가 주어진다.
그리드가 비어 있게 될때까지 다음 작업을 수행해라.
각 연산 후에 열의 개수가 하나씩 줄어든다.
위에서 설명한 연산을 수행한 후 결과를 반환해라.
#1
Input: grid = [[1, 2, 4], [3, 3, 1]]
Output: 8
Explanation: 위 그림은 각 단계에서 값이 삭제되는 것을 보여준다.
- 첫 번째 단계에서, 첫 번째 행에서 4와 두 번째 행에서 3을 제거한다. 답에 4를 더한다.
- 두 번째 단계에서, 첫 번째 행에서 2와 두 번째 행에서 3을 제거한다. 답에 3을 더한다.
- 세 번째 단계에서, 첫 번째 행에서 1과 두 번째 행에서 1을 제거한다. 답에 1을 더한다.
최종 답은 4 + 3 + 1 = 8이다.
#2
Input: grid = [[10]]
Output: 10
Explanation: 위 그림은 각 단계에서 값이 삭제되는 것을 보여준다.
- 첫 번째 단계에서, 첫 번째 행에서 10을 제거한다. 답에 10을 더한다.
최종 답은 10이다.
class Solution {
public int deleteGreatestValue(int[][] grid) {
int m = grid.length;
int n = grid[0].length;
int sum = 0;
for(int[] row : grid){
Arrays.sort(row);
}
for(int j = 0; j < n; j++){
int max = 0;
for(int i = 0; i < m; i++){
max = Math.max(max, grid[i][j]);
}
sum += max;
}
return sum;
}
}