[ Python Coding ] 백준 2164. 카드2

Hyeon_D's Log ღ·2021년 11월 9일
0

BAEKJOON

목록 보기
8/8
post-thumbnail

문제

입력 및 출력

실행 코드

from collections import deque
q = deque()

n = int(input())

for i in range(n): # 1~n까지 카드 생성
    q.append(i+1)

for j in range(0, n):
    if len(q) != 1:
        q.popleft()
        a = q[0]
        q.append(a)
        q.popleft()
        
print(q[0]) # 마지막 카드 출력

풀이

  • 큐를 구현하기 위해 deque 라이브러리 사용
  • 첫 번째 for문에서 1~n까지 카드를 생성한다.
  • 두 번째 for문에서 카드가 1장 남기 전까지 반복문을 수행한다.
    (반복: 첫 번째 카드 제거 ➡ 맨 앞의 카드를 맨 뒤에 추가(복사) ➡ 맨 앞 카드(복사한 카드) 제거)

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

profile
Data Scientist 🧐

0개의 댓글

관련 채용 정보