Dolphins의 HelloWorld
Programmers > 코딩테스트 연습 > 스택/큐 > 프린터 본문
문제링크 : https://programmers.co.kr/learn/courses/30/lessons/42587
풀이
처음에 queue<pair<int, int>> q; priority_queue<int> pq; 를 선언하였다.
그냥 큐에서 인자 하나는 우선순위, 하나는 위치를 저장해 놓았고
우선순위 큐에는 우선순위를 넣었는데 기존의 우선순위들을 내림차순으로 정렬하기 위함이다.
이렇게 되면 우선순위 큐의 가장 앞에는 우선순위가 가장 큰 것이 있으므로
만약 큐의 맨 앞에 있는것과 우선순위 큐의 맨 앞에있는 것이 같다면 큐의 인자를 pop하면 되고
같지 않다면 큐의 맨 뒤로 옮겨주면 된다.
그리고 우선순위가 같을 때 우리가 찾고자하는 것과 location이 같다면 인쇄되는 순서를
return해주면 되고 아니라면 인쇄순서를 증가시킨 후 과정을 반복하면 된다.
'Algorithm > Programmers 문제풀이' 카테고리의 다른 글
Programmers > 코딩테스트 연습 > 힙 > 라면공장 (3) | 2018.09.16 |
---|---|
Programmers > 코딩테스트 연습 > 힙(Heap) > 더 맵게 (0) | 2018.09.15 |
Programmers > 코딩테스트 연습 > 스택/큐 > 기능개발 (0) | 2018.09.14 |
Programmers > 코딩테스트 연습 > 스택/큐 > 다리를 지나는 트럭 (0) | 2018.09.14 |
Programmers > 코딩테스트 연습 > 스택/큐 > 쇠막대기 (0) | 2018.09.14 |
Comments