from collections import deque
import sys
input = sys.stdin.readline
N = int(input())
queue = deque()
for i in range(N):
queue.append(i+1)
while len(queue) > 1:
queue.popleft()
queue.append(queue.popleft())
print(queue[0])
문제는 N이 주어졌을 때 1부터 N까지 번호가 매겨진 카드가 순서대로 놓여있고, 제일 위의 카드를 바닥에 버리고 그 다음 카드를 제일 아래로 옮기는 과정을 반복하여 마지막에 남는 카드를 찾는 문제를 해결하기 위한 것이다.
queue = deque()
for i in range(N):
queue.append(i+1)
deque 객체를 초기화 하고 1부터 N까지의 숫자를 deque 에 차례대로 추가한다.
while len(queue) > 1:
queue.popleft()
queue.append(queue.popleft())