Altiora Petamus

카드 2 본문

1day-1algorithm

카드 2

Haril Song 2021. 5. 25. 10:37
 

2164번: 카드2

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

www.acmicpc.net

🤔생각해보기

문제에서 정답을 구하는 법을 다 설명해주는 쉬운 문제 중 하나이다.

성공 코드

from collections import deque

N = int(input())

cards = deque([i for i in range(1, N + 1)])
while len(cards) > 1:
    # 카드뭉치의 윗장를 버린다.
    cards.popleft()
    # 아래로 옮긴다.
    cards.rotate(-1)

# 남은 카드 한장
print(cards[0])

코드에 특별한 건 없고, 문제 그대로 풀었다.

의외였던건, 문제를 다 풀고 나면 다른 사람들의 풀이를 보는 편인데 rotate() 를 사용해서 푼 사람들이 적은 편이였다.

deque 의 회전 메커니즘은 엄청 자주 쓰이는 편은 아니지만 이 문제처럼 가끔씩 적절하게 사용해주면 굉장히 편하므로 알아두자.

'1day-1algorithm' 카테고리의 다른 글

소인수분해  (0) 2021.05.29
AC  (0) 2021.05.28
검문  (0) 2021.05.23
좌표 정렬하기  (0) 2021.05.16
부녀회장이 될테야  (0) 2021.05.07