SOJ ONLINE JUDGE

C++ Queue

난이도: Silver IV 출제자: rlatjwls7882 시간 제한: 1000 ms 메모리 제한: 512 MB
자료 구조구현

C++에는 queue라는 큐 자료구조가 있다.

queue는 가장 먼저 추가한 원소를 가장 먼저 삭제하거나 확인할 수 있다.

처음에 빈 큐 $Q$가 있다. $N$개의 쿼리를 순서대로 처리하라.

쿼리는 다음 중 하나이다.

  • push x: $Q$의 뒤에 정수 $x$를 추가한다. $(-10^9 \leq x \leq 10^9)$
  • pop: $Q$의 맨 앞 원소를 삭제한다.
  • front: $Q$의 맨 앞 원소를 출력한다.
  • back: $Q$의 맨 뒤 원소를 출력한다.
  • size: $Q$의 크기를 출력한다.

pop, front, back 쿼리는 항상 올바른 상태에서만 주어진다.

입력

첫 번째 줄에 쿼리의 개수 $N$이 주어진다. $(1 \leq N \leq 100\,000)$

두 번째 줄부터 $N$개의 줄에 걸쳐 쿼리가 하나씩 주어진다.

출력

front, back, size 쿼리가 주어질 때마다 쿼리의 결과를 한 줄에 하나씩 출력한다.

예제 입력 1

9
push 3
push 5
front
back
size
pop
front
push 7
back

예제 출력 1

3
5
2
5
7

노트

C++에서 int 값을 저장하는 queue는 다음과 같이 선언할 수 있다.

  • queue<int> Q;

queue를 사용하려면 #include<queue>가 필요하다.

제출