- 별다른 자료 구조를 사용하지 않고 작성했다가 시간초과가 발생했다. 이 문제는 자료 구조 중의 하나인 큐를 이용하는 문제다.
- 맨 위에 있는 카드를
remove
하고 그 다음 맨 위에 있는 카드를 맨 아래로 옮기는 과정을 수행하는popleft
를 사용하면 된다.
from collections import deque
N = int(input())
queue = deque([])
for i in range(1, N+1):
queue.append(i)
while True:
if len(queue) == 1:
break
else:
queue.remove(queue[0])
queue.append(queue.popleft())
print(queue[0])