카드 1

면접 대비

시간 제한2초메모리 제한128 MB

요약
카드를 큐에 넣고 맨 위 카드를 버린 뒤 다음 카드를 맨 아래로 옮기는 과정을 반복해 버려지는 순서와 마지막 카드를 출력합니다.
난이도

쉬움10점 중 3점

유형
큐, 시뮬레이션
정답자
아직 제출이 없습니다

문제

1부터 N까지 번호가 매겨진 카드 N장이 한 줄로 쌓여 있다. 처음에는 1번 카드가 가장 위에 있고, N번 카드가 가장 아래에 있다.

카드가 한 장만 남을 때까지 다음 두 동작을 반복한다.

  1. 가장 위에 있는 카드를 버린다.
  2. 아직 카드가 남아 있다면, 새로 가장 위에 있는 카드를 가장 아래로 옮긴다.

N = 4라면 처음 순서는 위에서부터 1, 2, 3, 4이다. 1을 버린 뒤 2를 아래로 옮기면 3, 4, 2가 된다. 이어서 3을 버리고 4를 아래로 옮기면 2, 4가 되고, 마지막으로 2를 버리면 4가 남는다.

N이 주어졌을 때, 버린 카드들의 번호를 순서대로 출력한 뒤 마지막에 남은 카드 번호를 출력하는 프로그램을 작성하라.

입력

첫째 줄에 정수 N이 주어진다. (1 <= N <= 1,000)

출력

한 줄에 버린 카드 번호를 순서대로 출력하고, 마지막에 남은 카드 번호를 이어서 출력한다. 번호 사이에는 공백을 하나씩 둔다.

예제1

  1. 예제 1

    입력
    7
    
    예상 출력
    1 3 5 7 4 2 6