본문 바로가기
코테준비

코딩테스트 :: 자료형Queue

by 바다의 공간 2025. 2. 19.
List (배열) Stack (쌓는다) <FILO>
First In Last Out
Queue <FIFO>
First In First Out
1. 선형맅스트(패턴을 예측할 수 있다)

2. 검색은 빠르지만, 비효율적

3. 정적,동적배열
(한번 사이즈를 설정하면
변경 가능,불가능)

4. append()
=> 리스트를 생성(빈 리스트를 생성)
test =[]

5. 데이터를 삽입, 삭제 등
수정할 수 있다.
<리스트, 튜플, 딕셔너리>

* 딕셔너리                        
자료구조 (key:value) : Hash




* push, pop을 연산으로 부름    

* top(변수)                                  
- 즉  push, pop, top을 가지고 활용
- 초기값은 -1을 가지고
데이터가 들어오면 '먼저' 증가한다.



1. 스택의 개념과 비슷하지만 데이터의 출력 형태가 다르다.

2.front / rear -> 초기값은 -1을 가짐.
스택의 top의 역할

* front => 큐에서 가장 먼저 들어온 데이터를 가리킨다.
* rear => 큐에서 가장 나중에 들어온 데이터를 가리킨다.

3. 데이터를 이동할 수 없다.
* 큐의 단점을 보완한 큐 = 원형큐
* 큐를 뒤집어서 결합시킨 큐가 존재 하는데 이걸 =>deque(데큐)
Queue의 문자열 들어오는 순서
2->3->4

 


도식화로 표현하면 아래처럼 됩니다.

 


큐의 변형

집중적으로 다시 꼭! 해야하는 부분

 


※ 파이썬에서 큐를 구현하는 방법으로는 두 가지가 존재함

1. 리스트를 활용하는 방법 

- 리스트를 큐처럼 활용하는 방식 중 푸시연산 push()메소드를 사용하고,

- 팝 연산은 pop 메서드를 활용한다. 스택과의 차이점은 pop() 메서드에 인수로 0을 넣는점이다.(선입선출이니까)

 

2. 덱틀 이용하는 방법