문제
입출력
문제풀이
#include <string>
#include <vector>
#include <queue>
using namespace std;
//큐에 인쇄 대기목록을 모두 넣어주기
int solution(vector<int> priorities, int location) {
int answer = 0;
// queue<int> list;
// for(int i =0;i<priorities.size();i++){
// list.push(priorities[i]);
// }
// while(!list.size()){
// int out = list.top();
// list.pop();
// //판단하기
// for(int i =0;i<list.size();i++){
// if(out < list)
// //큐의 원소를 알고 싶은다..
// }
// }
// for(int i =0;i<priorities.size();i++){
// int out = priorities[i];
// priorities.erase(priorities[i]);
// for(int j = 0;j<priorities.size();j++)
// if(out < priorities[j])
// priorities.push_back(out)
// break;
// }
priority_queue <int> pq;
queue<pair<int,int>>q;
int size = priorities.size();
for(int i = 0;i<size;i++){
q.push(make_pair(i,priorities[i]));
pq.push(priorities[i]);
}
while(!q.empty()){
int num = q.front().first;
int important = q.front().second;
q.pop();
// int count =0;
if(important == pq.top()){
pq.pop();
answer++;
// count++;
if(num == location){
//answer = count;
break;
}
}
else{
q.push(make_pair(num, important));
}
}
return answer;
}
'programming language > Structure' 카테고리의 다른 글
[프로그래머스 Level2 스택] 다리를 지나는 트럭 (0) | 2021.07.29 |
---|---|
std::stack, std::queue, std::priority_queue (0) | 2021.07.29 |
[프로그래머스 Level2 스택] 기능개발 (0) | 2021.07.28 |
std::vector, std::deque (0) | 2021.07.28 |
std::array (0) | 2021.07.26 |