6060 : 큐 두 개로 스택
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
두 개의 FIFO 큐만을 사용하여 LIFO 스택의 push, pop, top, empty 연산을 구현하시오.
- push X: 스택에 X 삽입
- pop: 스택 맨 위 원소 제거 및 출력 (비어있으면 -1)
- top: 스택 맨 위 원소 출력 (비어있으면 -1)
- empty: 비어있으면 1, 아니면 0 출력
[제약 조건]
• 명령 수 $N$: $1 \le N \le 10{,}000$ (정수)
• push의 인수 $X$: $-10^9 \le X \le 10^9$ (정수)
- push X: 스택에 X 삽입
- pop: 스택 맨 위 원소 제거 및 출력 (비어있으면 -1)
- top: 스택 맨 위 원소 출력 (비어있으면 -1)
- empty: 비어있으면 1, 아니면 0 출력
[제약 조건]
• 명령 수 $N$: $1 \le N \le 10{,}000$ (정수)
• push의 인수 $X$: $-10^9 \le X \le 10^9$ (정수)
입력 설명
첫째 줄에 명령 수 N (1 ≤ N ≤ 10,000).
둘째 줄부터 N개의 명령.
둘째 줄부터 N개의 명령.
출력 설명
pop, top, empty 명령마다 결과를 한 줄에 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
6
push 1
push 2
push 3
pop
top
empty
출력 예시
COPY
복사되었습니다!
복사되었습니다!
3
2
0
도움
pop 시 q1의 앞 원소들을 q2로 옮기고 마지막 원소를 꺼낸 후 q1과 q2를 교환합니다.