학습
시험

줄서기 시뮬레이션

난이도
BEGINNER

문제 설명

음식점에서 손님이 도착할 때마다 번호표를 발급하고, 손님들은 발급받은 번호표를 들고 대기 줄의 맨 뒤에 섭니다. 주문이 준비될 때마다 대기 줄 맨 앞의 손님이 호출되어 음식을 받아 가고, 대기 줄에서 나가게 됩니다.

대기 줄에서 일어나는 상황은 아래와 같은 형식으로 주어집니다.

- “arrive x”: 손님이 도착해 번호표 x를 받고 줄 맨 뒤에 섭니다.
- “next”: 줄 맨 앞 손님이 호출되어 대기 줄에서 나갑니다.

대기 줄 상태 배열 commands가 주어졌을 때, 대기 줄에 남아있는 번호를 앞에서부터 순서대로 반환하는 solution 함수를 작성하시오.


제한 사항

  • commands의 길이는 1 이상 100,000 이하입니다.
  • commands의 원소는 "arrive x" (x는 1 이상 10,000 이하의 자연수) 또는 "next"로만 주어집니다.
  • commands에서 대기 줄이 비어있는데 "next" 상태가 일어나는 입력은 주어지지 않습니다.

예시 테스트케이스 설명

테스트케이스 번호 commands return
1 ["arrive 5","arrive 3","next","arrive 9"] [3,9]
2 ["arrive 1","next","arrive 2","next"] []
3 ["arrive 7","arrive 8","arrive 7","next"] [8,7]

1번 테스트케이스 설명

  • 대기 줄의 상황은 다음과 같습니다.

    commands 대기 줄
    (초기) []
    "arrive 5" [5]
    "arrive 3" [5,3]
    "next" [3]
    "arrive 9" [3,9]
  • 따라서 대기 줄에 남아있는 번호인 [3,9]를 반환합니다.

2번 테스트케이스 설명

  • 대기 줄의 상황은 다음과 같습니다.

    commands 대기 줄
    (초기) []
    "arrive 1" [1]
    "next" []
    "arrive 2" [2]
    "next" []
  • 따라서 대기 줄에 남아있는 번호가 없으므로 []를 반환합니다.

3번 테스트케이스 설명

  • 대기 줄의 상황은 다음과 같습니다.

    commands 대기 줄
    (초기) []
    "arrive 7" [7]
    "arrive 8" [7,8]
    "arrive 7" [7,8,7]
    "next" [8,7]
  • 따라서 대기 줄에 남아있는 번호인 [8,7]을 반환합니다.