백준 #10 (큐) - 카드2

📌 문제

첫번째 요소를 pop하고, 그 요소를 마지막에 집어넣는다. 마지막에 남는 요소는?

📌 아이디어 & 유의점

처음에는

arr=[]
arr.pop[0]

식으로 첫 요소를 뺐는데, pop[0]연산은 제거 후 재배치 때문에 O(n)이 걸린다.

이후 deque 자료형을 썼다.

📌 코드

n = int(input())
from collections import deque

q = deque()

for i in range(1,n+1):
    q.append(i)

while len(q)!=1:
    q.popleft()
    first = q.popleft()
    q.append(first)

print(q[0])

좋은 웹페이지 즐겨찾기