Koala - 16기/코딩테스트 심화 스터디

[BOJ/Python3] 2164번: 카드 2

kim2001sh 2024. 11. 3. 23:25

문제

풀이

디큐를 구현한 다음 가장 위에 있는 카드를 버리고 그 다음 맨 위 카드를 맨 아래로 옮기는 작업을 반복한다

카드가 1장 남았을 때 남은 카드를 출력한다

코드

from collections import deque

n = int(input())

lst = [i for i in range(1, n+1)]

q = deque()

for i in lst:
    q.append(i)
    
while len(q) != 1:
    q.popleft()
    x = q.popleft()
    q.append(x)
    
print(q[0])