💻 C++ 기반
코딩테스트 연습 - 프린터
https://programmers.co.kr/learn/courses/30/lessons/42587
✔️ 인쇄 대기목록은 queue 사용
✔️ 인쇄 대기목록의 가장 높은 중요도 체크하는 방법: 변수 따로 빼서 queue 순회하며 체크
#include <string>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
int solution(vector<int> priorities, int location) {
int answer = 0;
queue<int> waiting;
for (int i = 0; i < priorities.size(); i++)
{
waiting.push(i);
}
int cnt = 1;
while (1)
{
int front = waiting.front();
waiting.pop();
int sz = waiting.size();
int max_priority = -1;
for (int i = 0; i < sz; i++)
{
int cur = waiting.front();
waiting.pop();
max_priority = max(max_priority, priorities[cur]);
waiting.push(cur);
}
if (priorities[front] < max_priority)
{
waiting.push(front);
}
else
{
if (front == location)
{
answer = cnt;
break;
}
cnt++;
}
}
return answer;
}