해당 강좌에 포함된 문제다.
문제를 읽어보면 큐에 값만 넣을게 아니라, 값과 index값을 저장해야 한다.
그래서 나는 그냥 2차원 리스트를 deque객체에 넣어줬다.
from collections import deque
n, m = map(int, input().split())
arr = list(map(int, input().split()))
que = deque()
for i in range(n) :
que.append([arr[i], i])
count = 0
while True :
if que[0] == max(que, key = lambda x:x[0]) :
count += 1
poplist = que.popleft()
if poplist[1] == m :
print(count)
break
else :
que.append(que.popleft())
오늘의 배운 점
max, min함수를 쓸 때도 key함수를 쓸 수 있다!
[백준/파이썬]24511 queuestack (0) | 2023.08.04 |
---|---|
[백준/파이썬]5430 AC (0) | 2023.07.26 |
[백준/파이썬]1935 후위 표기식2 (0) | 2023.07.22 |
[백준/파이썬]1918 후위 표기식 (0) | 2023.07.19 |
[백준/파이썬]10799 쇠막대기 (0) | 2023.07.19 |