본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 1021번 회전하는 큐

by 현장 2022. 2. 20.

-코드

from collections import deque
from sys import stdin
read = stdin.readline
n, m = map(int, read().split())
nums = list(map(int, read().split()))

que = deque(list(i for i in range(1, n + 1)))
cnt = 0

for num in nums:
    for i in range(n):
        if que[0] == num:
            que.popleft()
            break
        elif que.index(num) < len(que) / 2:
            while que[0] != num:
                que.append(que.popleft())
                cnt += 1
        else:
            while que[0] != num:
                que.appendleft(que.pop())
                cnt += 1
print(cnt)

index와 deque의 appendleft를 몰라서 풀이에 애를 먹었으나 저 2개의 명령어를 알게 된 후에 쉽게 해결을 할 수 있었습니다.