LeetCode/Heap
[Medium] 1046. Last Stone Weight (구글 코딩 테스트 기출문제)
Developer07
2022. 10. 6. 03:40
#문제 설명
#문제 풀이
class Solution {
public int lastStoneWeight(int[] stones) {
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Collections.reverseOrder());
int sum = 0;
for(int i = 0; i < stones.length; i++){
maxHeap.add(stones[i]);
sum += stones[i];
}
int size = maxHeap.size();
while(maxHeap.size() > 1){
int num1 = 0;
int num2 = 0;
if(maxHeap.size() >= 2){
num1 = maxHeap.poll();
num2 = maxHeap.poll();
}
maxHeap.add(num1 - num2);
sum -= num1 + num2 - (num1 - num2);
}
return sum;
}
}