python/알고리즘 문제풀이

[백준 | 파이썬3] 1966. 프린터 큐- 큐

빛날희- 2021. 8. 5. 16:26

https://www.acmicpc.net/problem/1966

 

1966번: 프린터 큐

여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에

www.acmicpc.net

> 큐

각 큐의 원소와 원소에 해당하는 순서를 함께 튜플로 묶어 큐에 추가함으로써 찾고자 하는 원소가 어디에 위치하는지 알 수 있도록 하는 것이 중요한 키포인트였다. 

 

그리고 큐의 첫번째에 나와있는 튜플이 큐의 최댓값과 같다면 해당 튜플을 큐에서 빼주고 순서를 하나씩 증가시키면서 반복문을 진행하다가 찾고자 하는 원소가 나오면 반복문을 중단한다. 해당 원소가 몇번째에 큐에서 나오게됐는지를 알려주는 순서를 results 리스트에 추가해준다.

 

위의 알고리즘을 코드로 구현하면 다음과 같다.

추가되는 튜플의 0번째 요소가 중요도를 나타내는 값이고 1번째 요소가 해당 원소의 위치를 나타내는 값이다.