본문 바로가기
OLD_알고리즘/Programmers - 알고리즘

Programmers ] Level 2 - 더 맵게

by 달승 2021. 3. 23.

 

 

✍풀이 과정

 

스코빌 지수를 구할 때, 첫 번째 값은 항상 작은 값이어야 합니다. 따라서 priority_queue를 min heap으로 구현합니다.

     (C++ STL에서 priority_queue는 max heap으로 구현되어 있습니다.)

 

q.top( ) < K이고 pq.size( ) > 1일 때까지 반복합니다.

 

 priority_queue에서 첫 번째 값, 두 번째 값을 꺼내고, queue에서는 값을 지워줍니다.

    그리고 첫 번째 값, 두 번째 값으로 계산한 새로운 스코빌 지수를 priority_queue에 push합니다.

 

q.top( ) < K일 때까지 반복되므로 push할 때마다 섞은 횟수를 ++합니다.

   

✔ 반복 후에도 pq값이 K보다 작다면 -1 return합니다.

 

 

🌱 정답코드

 

댓글