본문 바로가기
::public/코딩테스트 풀이

프린터

by 해맑은욱 2019. 9. 5.
*프린터(스택/큐) 
중요도 대기목록, location 위치의 문서가 몇번째로 인쇄되는지. 
인쇄 대기목록의 젤 처음을 꺼냄. 
대기목록에서 중요도가 가장 높으면 인쇄. 아니면 젤뒤로 넣음. 
 
#include <iostream>
#include <deque>
#include <pair>
 
using namespace std
 
int solution(vector priorities, int location) { 
    int answer = 0
 
    deque<pair<intbool>> que; 
    for(int i = 0; i < priorities.size(); i++
    { 
        bool b = false
        if(i == location) 
            b = true
        que.push_back(make_pair(priorities[i], b)); 
    } 
 
    int count = 0
 
    while (!que.empty()) 
    { 
        int pivot = que[0].first; 
        bool b = que[0].second; 
        int i; 
        for (i = 0; i < que.size(); i++
        { 
            if (que[i].first > pivot) 
            { 
                que.push_back(que[0]); 
                que.pop_front(); 
                break
            } 
        } 
        if (i == que.size()) // 중요도 높은게 없다. 
        { 
            count++
            que.pop_front(); 
            if (b) 
                return count; 
        } 
    } 
cs

'::public > 코딩테스트 풀이' 카테고리의 다른 글

H-index  (0) 2019.09.05
가장 큰 수  (0) 2019.09.05
이상한 문자 만들기  (0) 2019.09.05
예산  (0) 2019.09.05
시저암호  (0) 2019.09.05