반응형

https://programmers.co.kr/learn/courses/30/lessons/42587

 

코딩테스트 연습 - 프린터

일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린

programmers.co.kr

 

#include <string>
#include <vector>
#include <queue>
using namespace std;

int solution(vector<int> priorities, int location) {
    int answer = 0;
    priority_queue<int> pq;
    queue<int> q;
    for(int i=0; i<priorities.size(); i++) {
        q.push(i);
        pq.push(priorities[i]);
    }
    while(!q.empty()) {
        int x = q.front();
        q.pop();
        if(priorities[x] == pq.top()) { // pq.top()이 front의 우선순위와 같으면 프린트
            answer++;
            if(x == location) break;
            pq.pop();
        } else {
            q.push(x);
        }
    }
    return answer;
}
반응형

'Algorithm' 카테고리의 다른 글

프로그래머스 : N으로 표현  (0) 2021.11.13
프로그래머스 : 스킬트리  (0) 2021.11.13
프로그래머스 : 기능개발  (0) 2021.11.13
프로그래머스 : 섬 연결하기  (0) 2021.11.13
프로그래머스 : 네트워크  (0) 2021.11.13

+ Recent posts