개발 연습장/백준 문제풀이

[파이썬, Python] 백준 2164: 카드2

LooanCheong 2023. 3. 10. 11:02
반응형

문제

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

 

2164번: 카드2

N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가

www.acmicpc.net

코드

import collections
import sys
input = sys.stdin.readline

n = int(input())
card = collections.deque([i for i in range(1, n+1)])

while len(card) > 1:
    card.popleft()
    card.rotate(-1)

print(card[0])

설명

collections라는 모듈을 이용하여 deque 기능을 사용하였다.

n의 수만큼 덱을 구성해 준다.

카드가 다 1장 남을 때까지,
가장 왼쪽의 카드를 버려주고,
rotate함수를 사용해서 한 바퀴 돌려준다.

마지막 남은 카드를 출력해 준다.

반응형