leetcode 2500번 문제
"Delete Greatest Value in Each Row"는 다차원 배열에서 각 행의 최대값을 삭제하고 그 최대값의 합을 구하는 문제입니다.
문제 이해
주어진 m x n 행렬 grid에서 각 행의 최대값을 삭제합니다.
삭제된 최대값의 합을 구합니다.
각 삭제 후 행의 크기가 줄어들기 때문에, 반복적으로 최대값을 찾아야 합니다.
올바른 해결 방법
이 문제를 해결하기 위해서는 다음과 같은 단계로 접근할 수 있습니다:
행 정렬: 각 행을 정렬하여 최대값을 쉽게 찾을 수 있도록 합니다.
최대값 합산: 각 열에서 최대값을 찾아 합산합니다.
class Solution:
def deleteGreatestValue(self, grid: List[List[int]]) -> int:
# 각 행을 정렬
for row in grid:
row.sort()
# 각 열의 최대값을 합산
max_sum = 0
for j in range(len(grid[0])):
max_value = 0
for i in range(len(grid)):
max_value = max(max_value, grid[i][j])
max_sum += max_value
return max_sum
코드 설명
행 정렬: row.sort()를 통해 각 행을 오름차순으로 정렬합니다.
최대값 찾기: 이중 루프를 사용하여 각 열의 최대값을 찾습니다.
외부 루프는 열을 순회하고, 내부 루프는 각 행을 순회하여 최대값을 업데이트합니다.
합산: 각 열에서 찾은 최대값을 max_sum에 더합니다.
99클럽 코테 스터디 25일차 TIL + 오늘의 학습 키워드 : 힙 (1) | 2024.11.22 |
---|---|
99클럽 코테 스터디 24일차 TIL + 오늘의 학습 키워드 : 힙 (0) | 2024.11.21 |
99클럽 코테 스터디 22일차 TIL + 오늘의 학습 키워드 : 힙 (1) | 2024.11.18 |
99클럽 코테 스터디 21일차 TIL + 오늘의 학습 키워드 : 힙 (2) | 2024.11.17 |
99클럽 코테 스터디 20일차 TIL + 오늘의 학습 키워드 : 힙 (2) | 2024.11.16 |