
안녕하세요 !
오늘은 백준 - 카드 2 문제를 가져왔습니다.

문제를 해결한 방법은 다음과 같습니다.
- 수를 입력받고 1~N까지 큐에 넣어줍니다.
- 반복을 하며 만약 큐의 요소가 1개일 때 반복을 멈춥니다.
- 큐에서 요소를 제거하고 한번 더 제거한 뒤 마지막에 제거한 요소를 다시 큐에 넣어줍니다.
- 1개만 남은 큐의 요소를 출력합니다.
n = int(sys.stdin.readline().strip()) for i in range(1, n+1): queue.append(i)
while 1: if len(queue) == 1: break
종료 조건이 2번 들어가는 이유는 어느 코드 후에 큐의 요소가 1개가 되는지 알 수 없기 때문입니다.
queue.popleft() if len(queue) == 1: break queue.append(queue.popleft())
print(queue.popleft())
import sys
from collections import deque
queue = deque()
n = int(sys.stdin.readline().strip())
for i in range(1, n+1):
queue.append(i)
while 1:
if len(queue) == 1:
break
queue.popleft()
if len(queue) == 1:
break
queue.append(queue.popleft())
print(queue.popleft())