https://www.acmicpc.net/problem/1966
>>문제포인트
:처음에는 heapq로 구현했었는데 동일 중요도가 있을 경우 순서계산이 모호해짐
=> 문제에서 제시한대로 큐를 기반으로 충실히 구현하는 게 포인트
>>느낀점
파이썬을 통한 deque와 heapq의 사용법을 자세히 알아두자.
from collections import deque
num= int(input())
for _ in range(num):
q= deque()
#문서의 개수와 궁금한 값
n, k= map(int, input().split())
weight= list(map(int, input().split()))
for i in range(n):
q.append([weight[i],i]) #[중요도,순서]별로 넣어줌
#나오는 순서 담을 것
cnt=0
while(q):
paper = q.popleft()
#프린트가 가능하고 찾는 순서일 때 => 정답출력
if paper[0]==max(weight) and paper[1]==k:
print(cnt+1)
break
#중요도가 가장 높지만 찾는 순서가 아닐 때-> 중요도 최고값 갱신/순서+1
elif paper[0]==max(weight):
cnt+=1
weight.remove(max(weight))
#프린트가 불가 -> 다시 뒤로 넣기
else:
q.append(paper)
'백준 문풀' 카테고리의 다른 글
[Python] 구현 - 1138.한줄로 서기(실2) / 뒤집어 insert (0) | 2023.08.12 |
---|---|
[Python] 구현-13335. 트럭(실1) /큐와 시뮬레이션 (0) | 2023.08.11 |
[Python] 구현- 3085. 사탕게임(실2) /브루트포스, 좌표계구현 (0) | 2023.08.10 |
[Python] 구현 - 7568. 덩치(실5) / 브루트포스 (0) | 2023.08.09 |
[Python] 그리디 - 1461. 도서관(골4) (0) | 2023.08.08 |