배열로 운영하는 원형 큐에 대해 다음과 같이 연산 1에서 7까지의 연산… | [7급 국가직 알고리즘] 25년 1회차 기출문제 상세 페이지
1[7급 국가직 알고리즘] 25년 1회차
배열로 운영하는 원형 큐에 대해 다음과 같이 연산 1에서 7까지의 연산을 차례로 수행했을 때, 수행이 완료된 후 큐의 상태로 옳은 것은? (단, 현재 상태에서 front = 0, rear = 2이다)연산 1. 원소 Y 삽입
[0] [1] [2] [3] [4] Z X
연산 2. 원소 3개 삭제
연산 3. 원소 Q 삽입
연산 4. 원소 M 삽입
연산 5. 원소 A 삽입
연산 6. 원소 K 삽입
연산 7. 원소 2개 삭제
1
| [0] | [1] | [2] | [3] | [4] |
|---|---|---|---|---|
| M | Q |
2
| [0] | [1] | [2] | [3] | [4] |
|---|---|---|---|---|
| A | K |
3
| [0] | [1] | [2] | [3] | [4] |
|---|---|---|---|---|
| Y | Q |
4
| [0] | [1] | [2] | [3] | [4] |
|---|---|---|---|---|
| M | A |
해설
연산을 모두 마친 뒤 큐에는 [1]에 A, [2]에 K만 남는다.
원형 큐는 front가 첫 원소의 바로 앞 칸, rear가 마지막 원소를 가리키고, 인덱스는 5로 나눈 나머지로 순환한다. 처음에는 [1]에 Z, [2]에 X가 있다.
Y 삽입으로 rear=3, 3개 삭제로 Z·X·Y가 빠져 front=3이 된다. Q·M·A·K를 차례로 [4]·[0]·[1]·[2]에 넣어 rear=2가 되고, 2개 삭제로 먼저 들어온 Q와 M이 빠져 front=0이 된다.
- [0]에 M, [4]에 Q가 남는 상태는 먼저 들어온 Q·M부터 삭제되는 선입선출 순서와 맞지 않는다.
- [3]에 Y, [4]에 Q가 남는 상태는 앞선 3개 삭제에서 Y까지 빠진다는 점을 놓친 것이다.
- [0]에 M, [1]에 A가 남는 상태는 K가 [2]에 삽입되고 M이 삭제된다는 점을 반영하지 못했다.
오류나 개정된 내용이 보이면 알려주세요