본문 바로가기

Programming [Python]/백준 알고리즘 솔루션

#93 백준 파이썬 [2164] 카드2 - 덱

https://www.acmicpc.net/problem/2164

 

 

#Solution_1

직접 덱을 만들지만 시간초과 (결과값은 동일)

card_num = int(input())
card_deque = [i for i in range(1, card_num +1)]

while len(card_deque) != 1:   
    card_deque.pop(0)
    card_deque.append(card_deque[0])
    card_deque.pop(0)

print(card_deque[0])

 

#Solution_2

구현된 collection.deque 라이브러리를 통해 시간 축소 가능

import collections
card_num = int(input())
card_deque = collections.deque([i for i in range(1, card_num +1)])

while len(card_deque) != 1:   
    card_deque.popleft()
    card_deque.rotate(-1)

print(card_deque[0])