[WEEK02] 큐

김상호·2022년 4월 22일
1

Development Log

목록 보기
9/45

큐(Queue)

큐는 한 쪽 끝(rear)에서 데이터가 삽입이 되고 다른 한 쪽 끝(front)에서는 데이터가 삭제되는 구조이다. 먼저 들어온 데이터가 먼저 나가는 선입선출(First In First Out)구조이다. 파이썬에서는 collections 모듈의 deque 자료구조를 사용하면 빠르게 구현할 수 있다.

큐 구현

from collections import deque

queue = deque()

# 값 5 삽입
queue.append(5)

# 값 3 삽입
queue.append(3)

# 값 7 삽입
queue.append(7)

# queue에 맨 첫번째 값인 5를 삭제(pop)한다.
queue.popleft()

# 값 8 삽입
queue.append(8)

리스트 [3, 7, 8]
  • deque는 스택과 큐의 장점을 모두 채택한 것인데 데이터를 넣고 빼는 속도가 리스트 자료형에 비해 효율적이고, queue 라이브러리를 이용하는 것보다 간단하다.
  • collections 라이브러리는 파이썬에서 제공하는 기본 라이브러리이므로 코딩테스트에서 사용이 가능하다.
  • deque 객체를 리스트로 변경하고 싶으면 deque 객체를 list로 감싸주면 된다. → list(deque( ))
  • append( ) : 리스트의 가장 뒤쪽(맨 끝)에 데이터를 삽입
  • popleft( ) : 리스트의 가장 앞쪽(맨 앞)의 데이터를 삭제

큐 관련 백준 문제 Github 링크
백준 큐 관련 문제

0개의 댓글