큐(queue) > 문제은행



실력키우기 자료처리

1697 : 큐(queue)

제한시간: 1000 ms    메모리제한: 32 MB
해결횟수: 2540 회    시도횟수: 4718 회   



큐는 먼저 들어온 데이터가 먼저 출력된다. 

이러한 구조를 선입선출(FIFO - First In First Out)이라고 한다.

이러한 큐 자료구조는 보통 우리의 생활에서는 매우 일상적인 자료구조이다. 

큐 자료구조의 형태를 가장 흔히 볼 수 있는 게 “줄서기”가 될 것이다. 

은행 창구에서 줄을 서거나, 버스를 기다리기 위해서 줄을 설 경우 가장 먼저 줄을 선 사람이 가장 먼저 은행 업무를 처리하거나, 

버스를 타게 된다.(새치기 하는 경우는 생각하지 말자)

그림과 같은 큐 자료구조를 설계하고, 처리조건에 맞는 출력을 하시오.

 

e3050b66a1b29a01767400d7560a4131_1449727
 

≪처리조건≫
1. 주어지는 명령은 다음의 3가지이다.
2. "i a"는 a라는 수를 큐에 넣는다. 이때, a는 10,000 이하의 자연수이다.
3. "o"는 큐에서 데이터를 빼고, 그 데이터를 출력한다. 만약 큐가 비어있으면, "empty"를 출력한다.
4. "c"는 큐에 있는 데이터의 수를 출력한다.




첫줄에 N이 주어진다. N은 주어지는 명령어의 수이다.(1≤N≤100)
둘째 줄부터 N+1줄까지 한 줄에 하나씩 명령이 주어진다.



각 명령에 대한 출력 값을 한 줄에 하나씩 출력한다. 출력내용이 하나도 없는 경우는 주어지지 않는다.


7
i 7
i 5
c
o
o
o
c
2
7
5
empty
0


*  추상 자료형(ADT - Abstract Data Type)  : 자료들의 연산에 대하여 명기한 것이다.
  
stack의 ADT(추상자료형)는  STL queue 을 참조하여 다음과 같이 명기할 수 있다.

1. empty() : 큐가 비었는가?
2. size()  : 큐에 남아있는 원소의 개수는?
3. front() : 큐에 남아있는 원소중에 가장 오래된 원소는?
4. back()  : 최근 큐에 추가된 최근 원소는?
5. push( data) : 큐에 data를 추가한다.
6. pop()   : 큐에 남아있는 원소중에 가장 오래된 원소를 삭제한다.


출처 : jungol



연결리스트, 스택큐

HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 031-388-0999 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.