상세 컨텐츠

본문 제목

[백준] 2161. 카드1 | 큐 | 파이썬, 정답 소스코드

Coding Test/문제풀이

by yooputer 2024. 10. 9. 22:01

본문

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


문제 요약

  • 1부터 N까지 번호가 붙어있는 카드 더미가 있다. 1번 카드가 맨 위에, N번 카드가 맨 아래에 있다. 
  • 맨 위에 카드를 바닥에 버리고, 그 다음 맨 위에 있는 카드를 맨 아래로 옮긴다. 
  • 한장이 남을 때 까지 반복할 때, 버린 카드들을 순서대로 출력하고 마지막으로 남는 카드를 출력하라.

문제 조건

Input

  • N : 카드의 개수

 

제한사항

  • 1 <= N <= 1000

접근 방법

  1. 큐를 사용한다
  2. pop하고 출력하고, pop한 값을 append하는 것을 반복한다. 

소스코드

n = int(input())
queue = [i for i in range(1, n + 1)]

while queue:
    print(queue.pop(0), end=' ')

    if queue:
        queue.append(queue.pop(0))

관련글 더보기