본문 바로가기

우선순위큐2

[백준문제풀이] 1966 프린터 큐 풀이일시 : 2020-10-17 ​ 문제 : 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다. 1. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인한다. 2. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤에 재배치 한다. 그렇지 않다면 바로 인쇄를 한다. 예를 들어 Queue에 .. 2021. 1. 2.
[개념정리] priority_queue priority_queue란 자료구조에서 우선순위큐는 먼저들어간데이터에 상관없이 우선순위가 높은 데이터가 먼저 반환되는 구조이다. C++ STL에서 priority_queue를 이용하여 쉽게 구현해낼 수 있다. vector container 기반으로 내부구조가 설정되어있다. ​ priority_queue사용 #include 선언 priority_queue변수명; priority_queuepq; 기본 사용 pq.push(element) // 우선순위큐에 원소 추가 pq.pop() //우선순위큐에서 top의 원소를 삭제 pq.top() //top에 있는 원소를 반환 pq.empty() //비어있으면 true 아니면 false 반환 pq.size() //우선순위큐에 포함되어있는 원소들의 수를 반환 기본적으로 .. 2020. 12. 26.
반응형