[BOJ] 2164번: 카드2 (python)

한서영·2023년 2월 12일
0

BOJ

목록 보기
2/15

문제 링크 : https://www.acmicpc.net/problem/2164

💡 해결 방법

  • 파이썬 collections의 deque 사용하니까 너무 간단했다.
  • deque에 넣은 후 하나는 빼고 하나는 맨 뒤에 넣기를 반복한다.
  • 마지막 원소 한 개가 남으면 반복을 종료한다.
    ※ deque에 넣을 때 deque(list(i+1 for i in range(N)))도 좋지만, deque(range(1, N+1))이 더 간편하다.

🖥️ 코드

import sys
from collections import deque

N = int(sys.stdin.readline())
stack = deque(range(1, N+1))

while len(stack) > 1:
    stack.popleft()
    temp = stack.popleft()
    stack.append(temp)
print(stack.pop())

✏️ 알고리즘 분류

  • 자료구조

0개의 댓글