Leetcode/NeetCode

[PriorityQueue][Easy] 1046. Last Stone Weight

자전거통학 2024. 7. 20. 00:05

https://leetcode.com/problems/last-stone-weight/description/

 

주어진 정수 배열은 돌의 무게을 의미한다. 

가장 무거운 두개를 서로 부딪힌다. 

무게가 같으면 사라진다. 

다르면, 그 차가 남는다. 

 

마지막 남은 돌의 무게를 구하라.

 

이거는 easy 난이도가 맞다. 

직관대로 풀어 준다. 

 

코드 

더보기
int lastStoneWeight(vector<int>& stones) 
{
    priority_queue<int> pqBuff;
    for (int q = 0; q < stones.size(); ++q)
        pqBuff.push(stones[q]);

    while (pqBuff.size() >= 2)
    {
        int first = pqBuff.top();	pqBuff.pop();
        int second = pqBuff.top();	pqBuff.pop();

        if (first != second)
            pqBuff.push(first - second);
    }

    return pqBuff.size()==0 ? 0 : pqBuff.top();
}

 

 

결과.