https://leetcode.com/problems/remove-stones-to-minimize-the-total/
class Solution:
def minStoneSum(self, piles: List[int], k: int) -> int:
pq = [-x for x in piles]
heapify(pq)
for i in range(k):
x = -heappop(pq)
heappush(pq, -((x+1)//2))
return -sum(pq)
최대힙 쓸 줄 알면 쉬움
파이썬 힙은 최소힙이므로 음수로 넣고 빼고 계산할 때 고려해주기
댓글 1