알고리즘 & 코딩테스트
[백준] 1021번 회전하는 큐
Haksae
2022. 3. 8. 16:28
⛏ 문제 파악
- Deque를 구현하는 문제이면서 동시에, circular Queue를 보여주기 위한? 문제
👉🏻 답안
from sys import stdin
from collections import deque
N, M = map(int, stdin.readline().split(' '))
nums = list(map(int, stdin.readline().split(' ')))
arr = deque([])
count = 0
for i in range(1, N+1):
arr.append(i)
for num in nums:
if num == arr[0]:
arr.popleft()
elif arr.index(num) < len(arr)/2:
while num != arr[0]:
arr.append(arr.popleft())
count += 1
arr.popleft()
else:
while num != arr[0]:
arr.appendleft(arr.pop())
count += 1
arr.popleft()
print(count)
📑 간단한 설명
- popleft()를 사용해야하기에 deque를 import했다.
- 특별한 내용은 없다.