카테고리 없음

파이썬 코딩테스트 스터디 4주차 #1 - 큐의 개념

hoony926 2024. 7. 9. 21:17

큐의 개념

 

큐(Queue)는 정확히 스택(Stack)과 반대되는 개념이다

 

스택은 선입후출 / 후입선출(First In, Last Out)이었다면,

큐는 선입선출(First In, First Out)이다. 

 

코딩 테스트 합격자 되기 : 파이썬편 181Page

 

 

코딩 테스트 합격자 되기 : 파이썬편 183Page

 

큐의 세부 동작에 대해 살펴보기

 

Insert(삽입)

1. 삽입 전 , Is Full을 통해 현재 큐가 가득 찼는지 확인

2. 가득차지 않았다면, rear=rear+1 증가 후 데이터 삽입

 

Pop(추출)

1. IsEmpty를 통해 빈큐인지 확인

2. 비어있지 않았다면 front = front +1

 

queue = []	#스택처럼 배열로 선언

#데이터 추가
queue.append(1)
queue.append(2)
queue.append(3)


#맨 앞 데이터 제거
first_item = queue.pop(0)
print(first_item) #출력 : 1

#큐에 데이터 추가
queue.append(4)
queue.append(5)

#큐의 맨 앞 데이터 제거
first_item = queue.pop(0)
print(first_item)	#출력: 2

 

 

덱을 큐처럼 활용하기

 

from collections import deque

queue = deque()

#큐에 데이터 추가
queue.append(1)
queue.append(2)
queue.append(3)

#맨 앞 데이터 제거
first_item = queue.popleft()
print(first_item)	# 1


#큐에 데이터 추가
queue.append(4)
queue.append(5)


#맨 앞 데이터 제거
first_item = queue.popleft()
print(first_item) 	# 2

 

 

deque의 popleft()가 list의 pop(0)보다 훨씬 빠르다!!!!

 

♬ 자료 출처 - 책

코딩 테스트 합격자 되기 - 파이썬 편

 

 

 

이 포스팅의 모든 내용은 해당 책의 내용을 바탕으로 하고 있습니다. 

감사합니다.