소 줄 세우기
면접 대비시간 제한1초메모리 제한128 MB
왼쪽과 오른쪽 끝에서 소를 넣고 여러 마리를 한꺼번에 빼는 연산을 처리한 뒤, 남은 소를 왼쪽부터 순서대로 출력한다.
문제
Farmer John의 소들이 한 줄로 서 있습니다. 줄은 처음에 비어 있고, 시간이 지나면서 소들이 한 마리씩 줄의 왼쪽 끝 또는 오른쪽 끝에 합류합니다. 또한 때때로 줄의 왼쪽 끝 또는 오른쪽 끝에 있는 마리의 소가 한꺼번에 줄을 떠나 풀을 뜯으러 갑니다.
소들은 번호 순서대로() 줄에 들어옵니다. 즉, 소가 합류할 때마다 아직 사용되지 않은 가장 작은 번호가 그 소에게 배정됩니다. 한 번 줄을 떠난 소는 다시 들어오지 않습니다.
총 개의 연산이 주어집니다(). 각 연산은 다음 두 종류 중 하나입니다.
- 소 한 마리가 줄의 왼쪽 끝 또는 오른쪽 끝에 합류한다.
- 줄의 왼쪽 끝 또는 오른쪽 끝에서 마리의 소가 떠난다.
입력은 수행할 수 없는 연산(예: 줄에 있는 소보다 많은 수의 소를 떠나보내는 연산)을 절대로 요구하지 않습니다.
모든 연산을 처리한 뒤, 줄에 남아 있는 소들의 번호를 왼쪽에서 오른쪽 순서로 출력하세요. 마지막 상태의 줄은 비어 있지 않음이 보장됩니다.
입력
- 첫째 줄: 정수 .
- 둘째 줄부터 째 줄까지: 각 줄에 하나의 연산이 다음 네 가지 형식 중 하나로 주어집니다.
A L— 소 한 마리가 줄의 왼쪽 끝에 합류한다.A R— 소 한 마리가 줄의 오른쪽 끝에 합류한다.D L K— 왼쪽 끝에서 마리의 소가 떠난다.D R K— 오른쪽 끝에서 마리의 소가 떠난다.
출력
줄에 남아 있는 소들의 번호를 왼쪽에서 오른쪽 순서로, 한 줄에 한 번호씩 출력하세요.
힌트
아래 표는 10개의 연산으로 이루어진 예시에서 각 연산이 줄을 어떻게 변화시키는지 보여 줍니다.