반응형
https://www.acmicpc.net/problem/1966
import sys
t = int(sys.stdin.readline())
for _ in range(t):
n, m = map(int, sys.stdin.readline().split())
# q = 중요도
q = (list(map(int, sys.stdin.readline().split())))
# arr = 순서
arr = list(range(len(q)))
# 내가 원하는 순서
arr[m] = "target"
cnt = 0
while True:
# 중요도가 가장 높으면
if q[0] == max(q):
# 출력순서 = cnt
cnt += 1
# 중요도가 가장 높고 원하는 순서이면 cnt 출력 while문 종료
if arr[0] == "target":
print(cnt)
break
# 원하는 순서가 아니면 리스트에서 삭제(프린터 출력)
else:
del q[0]
del arr[0]
# 중요도가 가장 높지 않으면
else:
# 출력 순서를 뒤로 배치
q.append(q[0])
del q[0]
arr.append(arr[0])
del arr[0]
풀이가 떠오르지 않아 이것저것 시도해본 결과 실패 . 다른 블로그 참조하여 작성하였음.
반응형
'알고리즘 풀이 > 자료구조' 카테고리의 다른 글
[백준/파이썬] 1764번 : 듣보잡 (0) | 2023.01.14 |
---|---|
[백준/파이썬] 1927번: 최소 힙 (0) | 2023.01.10 |
[백준/파이썬] 10866번: 덱 (0) | 2023.01.09 |
[백준/파이썬] 11866번: 요세푸스 문제 0 (0) | 2023.01.07 |
[백준/파이썬] 2164번: 카드2 (0) | 2023.01.07 |
댓글