문제 출처 : www.acmicpc.net/problem/1966
내 풀이
from collections import deque
k = int(input())
for i in range(k):
arr = deque()
answer = 0
cnt = 0
n, m = map(int, input().split())
doc = list(map(int, input().split()))
for i in range(n):
arr.append((doc[i], i))
doc.sort(reverse = True)
check = doc[answer]
while arr:
x, y = arr.popleft()
if x < check:
arr.append((x, y))
else:
answer += 1
if y == m:
print(answer)
break
else:
check = doc[answer]
1. 문서의 중요도 최댓값 저장
2. 가장 중요한 문서보다 값이 작으면 뒤로 돌려보냄
3. 가장 중요한 문서와 값이 같으면 버리고 answer에 1 더함
4. 3번에 이어서 이 때 문서의 번호가 확인하고자 하는 문서의 번호와 일치하면 프린트하고 종료
'코딩테스트' 카테고리의 다른 글
[백준][파이썬]2775번: 부녀회장이 될테야 (0) | 2021.04.11 |
---|---|
[백준][파이썬]11724번: 연결 요소의 개수 (0) | 2021.04.07 |
[백준][파이썬]2060번: 바이러스 (0) | 2021.04.06 |
[백준][파이썬]1012번: 유기농 배추 (0) | 2021.04.06 |
[백준][파이썬]17413번: 단어 뒤집기 2 (0) | 2021.03.31 |