반응형
https://www.acmicpc.net/problem/2164
내 답안
from collections import deque
import sys
N = int(sys.stdin.readline().rstrip())
q = deque([i for i in range(1, N + 1)])
while (len(q) != 1):
q.popleft()
if len(q) == 1:
break
else:
q.append(q.popleft())
print(q[0])
파이썬에서 지원하는 deque을 사용하면 간단하게 풀 수 있다.
q.popleft() 는 맨 왼쪽 원소를 제거해 주는 거고,
q.append(q.popleft()) 는 맨 왼쪽 원소를 맨 오른쪽으로 옮겨주는 거라고 이해하면 된다.
반응형
'BOJ > Python' 카테고리의 다른 글
백준 1259번 팰린드롬수 파이썬 (0) | 2022.03.29 |
---|---|
백준 2292번 벌집 파이썬 (0) | 2022.03.28 |
백준 10816번 숫자 카드 2 파이썬 (0) | 2022.03.23 |
백준 11055번 가장 큰 증가 부분 수열 파이썬 (0) | 2022.03.22 |
백준 2631번 줄세우기 파이썬 (0) | 2022.03.21 |