[BOJ] 2164 카드2

[BOJ] 2164 카드2

문제 링크

이 문제는 Queue를 이용해서 풀이할 수 있었다. deque를 import하고 이를 이용하여 append, popleft를 실행하며 값을 규칙에 맞게 넣고 뺄 수 있었다. deque는 popright도 가능하나 이는 쓰이지 않았다.

queue의 크기가 1이 되었을 때는 값을 넣고 빼는 행위(append, pop)를 멈추고 마지막 값을 print하며 종료하도록 작성했다.

나의 풀이

from collections import deque

N = int(input())
q = deque()

for i in range(1, N+1):
    q.append(i)

while len(q)>1:
    q.popleft()
    if len(q)==1:
        break
    tmp = q.popleft()
    q.append(tmp)


print(q.popleft())


© 2021. All rights reserved.