정구리의 우주정복

[BOJ] 2164번 - 카드 2 파이썬 (collection.deque) 본문

ALGORITHM/SOLVE

[BOJ] 2164번 - 카드 2 파이썬 (collection.deque)

Jungry_ 2020. 7. 24. 15:10
반응형

deque 에 관한 설명은 : https://j-ungry.tistory.com/189

 

파이썬 collections deque 함수 (덱,데크) 사용법

https://docs.python.org/3/library/collections.html#collections.deque collections — Container datatypes — Python 3.8.5 documentation collections — Container datatypes Source code: Lib/collections/..

j-ungry.tistory.com

 

 

처음에 생각한 코드 (동작은 되지만 시간초과가 남)

def push(queue,value):
    queue.append(value)
def pop(queue):
    value = queue[0]
    del queue[0]
    return value
queue = [i for i in range(1,int(input())+1)]

while len(queue) > 1:
    pop(queue)
    push(queue,pop(queue))

print(queue[0])

 

찾아보니 collections.deque 를 사용해야한다고 한다 (시간복잡도 때문에 !)

 

그래서 만든 쏘오스

from collections import deque
dq = deque(i for i in range(1,int(input())+1))
while len(dq) > 1:
    dq.popleft()
    dq.append(dq.popleft())

print(dq[0])

 

 

반응형
Comments