
아래는 처음에 뭔지도 모르고 인덱스 어케기억함; 이라며 나머지 정수로하고 목표만 float로 하면 되네 ㅋㅋ 라며 기만한 코드 작성이다. (참신함 10점)
당연하게도 시간초과임 ㅇㅇ..
from collections import deque
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
dequelist = deque(map(int, input().split()))
dequelist[m] = float(dequelist[m])
count = 0
while dequelist:
current = dequelist.popleft()
if current == max(dequelist, default=current):
count += 1
if type(current) == float:
print(count)
break
else:
dequelist.append(current)
from collections import deque
t = int(input())
for _ in range(t):
n, m = map(int, input().split())
priorities = list(map(int, input().split()))
dequelist = deque((i, priorities[i]) for i in range(n))
count = 0
while dequelist:
current = dequelist.popleft()
if any(current[1] < doc[1] for doc in dequelist):
dequelist.append(current)
else:
count += 1
if current[0] == m:
print(count)
break
정답 코드이다.
뽀인트는 deque안에 그냥 (인덱스, 중요도)를 하나로 넣는거다.
ex) dequelist = ((인덱스1, 중요도1),(인덱스2, 중요도2),(인덱스2, 중요도2))
이런식이다.
이렇게 되면 값을 비교할때 인덱스와 중요도를 같이쓰기에 중요도가 같아도 인덱스를 알기때문에 정확한 순번을 알 수 있다.