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])
'Programming [Python] > 백준 알고리즘 솔루션' 카테고리의 다른 글
#95 백준 파이썬 [11726] 2xn 타일링 (0) | 2019.09.19 |
---|---|
#94 백준 파이썬 [1021] 회전하는 큐 - 덱 (0) | 2019.09.18 |
#92 백준 파이썬 [4949] 균형잡힌 세상 (0) | 2019.09.17 |
#91 백준 파이썬 [10773] 제로 (0) | 2019.09.17 |
#90 백준 파이썬 [11651] 좌표 정렬하기 2 (0) | 2019.09.17 |