C++:: 프로그래머스 <프린터>

jahlee·2023년 3월 31일
0

프로그래머스_Lv.2

목록 보기
22/106
post-thumbnail

deque에 넣어주고 조건대로 동작하게끔 하였다. 크게 어렵지 않은 문제이다.

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

int solution(vector<int> priorities, int location)
{
    int answer = 1;
    deque<pair<int,int>> dq;
    for(int i=0;i<priorities.size();i++) dq.push_back({priorities[i], i});//deque에 그대로 넣어준다.
    while (!dq.empty())
    {
        bool print = true;
        pair<int,int> cur = dq.front();
        dq.pop_front();
        for(auto c : dq)
        {
            if (cur.first < c.first)//우선순위가 높은게 있다면
            {
                dq.push_back(cur);// 뒤에 넣어주고
                print = false;// 출력하지않았음
                break;
            }
        }
        if(print && cur.second == location) break;// 원하는 인쇄물을 출력하면
        if(print) answer++;//우선순위대로 프린트하면
    }
    return answer;
}

0개의 댓글