주문 추가, 시간과 테이블 번호 기준 정렬, 테이블별 삭제 명령을 처리하며 매 명령 후 남은 주문 목록을 출력한다.
쉬움3시뮬레이션정렬구현배열면접 대비아직 제출이 없습니다시간 제한2초메모리 제한256 MB인하대학교 축제를 맞아 알고리즘 동아리 CTP가 식당을 열었다. 요리는 세진이가 맡고 주문은 한솔이가 받는다. 음식이 너무 맛있어서 주문이 끊임없이 들어왔고, 밀려드는 주문에 한솔이는 주문 순서를 헷갈리게 되었다.
그래서 한솔이는 주문을 받을 때마다 테이블 번호와 주문 시간을 포스트잇에 적어 세진이에게 넘겼다. 하지만 요리하느라 바쁜 세진이가 주문 순서를 파악하기는 쉽지 않았다. 지나가던 토쟁이가 포스트잇을 시간 순서대로 정렬해 보여 주고 요리가 끝난 테이블의 포스트잇을 떼어 내는 프로그램을 만들어 주기로 했지만, 시험 기간이 얼마 남지 않아 여유가 없다. 프로그램이 처리할 명령어와 그 기능은 다음과 같다.
order n t: 주문 시간 t에 n번 테이블에서 주문이 들어온다. 가지고 있는 포스트잇의 맨 뒤에 새 포스트잇을 붙인다.sort: 포스트잇을 주문 시간이 빠른 순서대로 정렬한다. 주문 시간이 같으면 테이블 번호가 작은 포스트잇을 앞에 둔다.complete n: n번 테이블의 요리가 완성된다. 그 테이블의 포스트잇을 떼어 낸다.코딩을 잘하는 여러분이 토쟁이를 도와 김식당을 살릴 프로그램을 만들어 보자.
첫째 줄에 질의의 수 N과 테이블의 수 M이 주어진다. (1≤N,M≤100)
다음 N개의 줄에 명령어가 한 줄에 하나씩 주어진다. 각 명령어는 order n t, sort, complete n 중 하나이다. (1≤t≤1000, 1≤n≤M)
complete n이 주어지는 시점에 n번 테이블에 밀린 주문은 항상 정확히 하나이다. 주문이 없거나 두 개 이상 밀려 있는 경우는 주어지지 않는다.
명령어를 하나 수행할 때마다, 수행한 뒤 남아 있는 포스트잇에 적힌 테이블 번호를 맨 앞부터 차례대로 공백으로 구분해 한 줄에 출력한다. 남은 포스트잇이 하나도 없으면 sleep을 출력한다.