데크를 사용해서 popleft()로 먼저 넣은 값을 빼주는 큐를 구현한다.
1) 큐에 1부터 N까지 순서대로 넣는다.
2) 제일 왼쪽 값을 버리고, 그 다음 값을 뒤에 넣는다.
3) 큐에 값이 1개 남을 때까지 반복한다.
전체코드
import sys
import collections
input = sys.stdin.readline
N = int(input())
queue = collections.deque()
for i in range(1, N + 1):
queue.append(i)
while len(queue) > 1:
queue.popleft()
a = queue.popleft()
queue.append(a)
print(*queue)
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 백준 11047 동전0 (0) | 2021.02.15 |
---|---|
[Python] 백준 10773 제로 (0) | 2021.02.15 |
[Python] 백준 2667 단지번호붙이기 (0) | 2021.02.10 |
[Python] 백준 1012 유기농 배추 (0) | 2021.02.10 |
[Python] 다익스트라(Dijkstra) 알고리즘 (0) | 2021.02.03 |