LeetCode - 2500. Delete Greatest Value in Each Row

henu·2023년 10월 10일
0

LeetCode

목록 보기
105/186

Solution

var deleteGreatestValue = function(grid) {
    grid.map(row => row.sort((a,b) => b-a))

    let ans = 0

    for(let i=0; i<grid[0].length; i++) {
        let max = 0

        for(let j=0; j<grid.length; j++) {
            grid[j][i] > max ? max = grid[j][i] : max
        }

        ans += max
    }

    return ans
};

Explanation

필자가 접근한 방법은
1. grid의 각 row를 내림차순으로 정렬한다.
2. column을 순회하면서 각 column의 최댓값을 찾고 이 값을 ans에 더한다.

먼저 grid의 각 row를 내림차순으로 정렬해서 각 row의 최댓값을 쉽게 찾을 수 있도록 한다.
그리고 for문을 이용해서 column을 순회하는데 여기서 내부 for문을 이용해서 한 column의 여러 row들을 순회한다.
여기서 각 column의 최댓값을 찾아서 이 값을 ans에 더해주면 된다.

0개의 댓글