728x90
문제 설명
1은 군인, 0은 민간인이다. 각 열에서 제일 군인이 적은 열을 찾고 k 만큼 반환해라
import heapq
from typing import List
class Solution:
def kWeakestRows(self, mat: List[List[int]], k: int) -> List[int]:
power = []
for r, row in enumerate(mat):
tmp = 0
for n in row:
if n:
tmp += 1
else:
break
power.append((tmp, r))
heapq.heapify(power)
return [heapq.heappop(power)[1] for _ in range(k)]
728x90
'알고리즘 > 파이썬' 카테고리의 다른 글
[파이썬 알고리즘] Quicksort(퀵정렬) 기초. (0) | 2022.05.27 |
---|---|
[파이썬 알고리즘] 정렬 기초(1) (2) | 2022.05.26 |
[파이썬 알고리즘]1464.leetcode - Maximum Product of Two Elements in an Array (0) | 2022.05.25 |
[파이썬 알고리즘]215.leetcode - 배열의 k번째 큰 요소 (0) | 2022.05.25 |
[파이썬 알고리즘] 힙이란??? (0) | 2022.05.25 |