우선순위 큐는 반드시 Heap으로 구현할 필요는 없지만, 최소 혹은 최대값에 focus를 두는 우선순위 큐의 특성 상 일반적으로 그 장점을 최대한 잘 살릴 수 있는 Heap을 이용하여 구현한다. 하지만 Heap을 이용하여 우선순위 큐를 구현하게 되면 임의의 요소를 삭제하는 case를 처리하기 곤란해진다. 본 포스팅에선 이런 상황에서 도움이 될만한 idea를 소개하고자 한다. Solution 1. 카운팅 우선순위 큐의 요소에 대한 chk 배열을 만들어 삭제된 요소에 대해 카운팅을 하고, poll할 때 chk 배열의 값을 확인하는 방법이다. 위 그림에서 7 요소를 삭제하고 싶다면 chk[7]++ 이런 식으로 카운팅을 하고, poll할 때 chk배열의 값을 확인하여 1 이상이면 삭제된 것으로 간주한다. 하지만..