본문 바로가기
IT/algorithm

[Python] 알고리즘 개념8 퀴즈 - 큐

by Echinacea 2025. 2. 21.
반응형

 

 

📌 퀴즈 개요

다음 퀴즈를 통해 큐(Queue) 개념을 정확히 이해하고 있는지 확인해 보세요! 😊


 

 

🧩 1. 개념 이해 문제

 
(1) 큐(Queue)의 특징으로 옳지 않은 것은?

  1. 선입선출(FIFO) 방식으로 동작한다.
  2. enqueue 연산을 통해 데이터를 추가할 수 있다.
  3. dequeue 연산을 통해 맨 위 요소를 제거할 수 있다.
  4. 큐는 양쪽 끝에서 데이터를 추가 및 삭제할 수 있다.

 
(2) 다음 중 큐의 활용 사례가 아닌 것은?

  1. 프로세스 스케줄링
  2. 네트워크 패킷 처리
  3. 웹 브라우저의 뒤로 가기 기능
  4. 작업 대기열(Task Queue)

 

 

🧩 2. 실전 문제

 
(3) 다음 코드의 실행 결과는?

from collections import deque
queue = deque()
queue.append(10)
queue.append(20)
queue.append(30)
print(queue.popleft())
print(queue.popleft())
  1. 30 20
  2. 10 20
  3. 20 10
  4. 10 30

 
(4) 다음 코드가 출력할 결과는?

def process_queue(elements):
    queue = deque(elements)
    result = []
    while queue:
        result.append(queue.popleft())
    return result

print(process_queue(["a", "b", "c", "d"]))
  1. ['d', 'c', 'b', 'a']
  2. ['a', 'b', 'c', 'd']
  3. ['b', 'a', 'd', 'c']
  4. ['c', 'd', 'a', 'b']

 

 

 

 

 

 

 

 

 

 

 

 

 

🏆 정답 및 해설

(1) 정답: 4
✅ 큐는 선입선출(FIFO) 방식으로 동작하며, 양쪽 끝에서 삽입/삭제가 가능한 것은 덱(Deque)입니다.
(2) 정답: 3
✅ 웹 브라우저의 뒤로 가기 기능은 스택(Stack) 을 활용합니다.
(3) 정답: 2
✅ append(10) → append(20) → append(30) 순으로 큐에 추가되었으며, popleft() 연산을 수행하면 가장 먼저 들어온 10이 먼저 제거됩니다. 따라서 출력은 10 20이 됩니다.
(4) 정답: 2
✅ 큐의 선입선출(FIFO) 원칙에 따라 입력된 요소가 그대로 출력됩니다. 따라서 결과는 ['a', 'b', 'c', 'd']입니다.


 

반응형

댓글