6048 : 큐 직접 구현
•시간제한: 1.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
배열 기반의 큐(Queue)를 직접 구현하고, 다음 연산을 처리하는 프로그램을 작성하시오.
지원 연산:
- enqueue X: 정수 X를 큐 뒤에 삽입합니다.
- dequeue: 큐 앞에서 정수를 꺼내어 출력합니다. 큐가 비어 있으면 -1을 출력합니다.
- front: 큐 앞의 값을 출력합니다. 큐가 비어 있으면 -1을 출력합니다.
- back: 큐 뒤의 값을 출력합니다. 큐가 비어 있으면 -1을 출력합니다.
- size: 큐에 있는 원소의 개수를 출력합니다.
- empty: 큐가 비어있으면 1, 아니면 0을 출력합니다.
[제약 조건]
• 명령 수 $N$: $1 \le N \le 10{,}000$ (정수)
• enqueue의 인수 $X$: $-10^9 \le X \le 10^9$ (정수)
지원 연산:
- enqueue X: 정수 X를 큐 뒤에 삽입합니다.
- dequeue: 큐 앞에서 정수를 꺼내어 출력합니다. 큐가 비어 있으면 -1을 출력합니다.
- front: 큐 앞의 값을 출력합니다. 큐가 비어 있으면 -1을 출력합니다.
- back: 큐 뒤의 값을 출력합니다. 큐가 비어 있으면 -1을 출력합니다.
- size: 큐에 있는 원소의 개수를 출력합니다.
- empty: 큐가 비어있으면 1, 아니면 0을 출력합니다.
[제약 조건]
• 명령 수 $N$: $1 \le N \le 10{,}000$ (정수)
• enqueue의 인수 $X$: $-10^9 \le X \le 10^9$ (정수)
입력 설명
첫째 줄에 명령의 수 N (1 ≤ N ≤ 10,000)이 주어집니다.
둘째 줄부터 N개의 줄에 명령이 주어집니다.
둘째 줄부터 N개의 줄에 명령이 주어집니다.
출력 설명
출력이 필요한 명령(dequeue, front, back, size, empty)이 주어질 때마다 결과를 한 줄에 하나씩 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
5
enqueue 1
enqueue 2
dequeue
front
empty
출력 예시
COPY
복사되었습니다!
복사되었습니다!
1
2
0
도움
collections.deque를 활용하면 enqueue/dequeue 모두 O(1)로 처리할 수 있습니다.