우노
[Python] Stack 과 Queue 사용 방법 본문
Stack
파이썬에선 Stack을 사용하기 위해 별도의 라이브러리를 사용하지 않아도 됩니다.
기본 List에서 append() 와 pop() 메서드를 이용하면 Stack 자료구조와 동일하게 동작합니다.
append() 메서드는 리스트의 가장 뒤쪽에 데이터를 삽입하고,
pop() 메서드는 리스트의 가장 뒤쪽에서 데이터를 꺼냅니다.
예제 코드
stack = [] stack.append(1) stack.append(2) stack.pop() stack.append(3) stack.append(4) print(stack) # 최하단 원소부터 출력 print(stack[::-1]) # 최상단 원소부터 출력
Queue
파이썬에선 Queue를 사용하기 위해, collections 모듈에서 제공하는 deque 자료구조를 활용해야합니다.
deque 는 Stack 과 Queue 의 장점을 모두 채택한 방법입니다.
데이터 삽입 및 추출 속도가 List 자료형에 비해 효율적이며, queue 라이브러리를 사용하는 것보다 더 간단합니다.
대부분의 코딩 테스트에서는 collections 모듈과 같은 기본 라이브러리 사용을 허용하므로 안심하고 사용해도 괜찮습니다.
예제 코드
from collections import deque queue = deque() queue.append(1) queue.append(2) queue.popleft() queue.append(3) queue.append(4) print(queue) # 먼저 들어온 원소부터 출력 queue.reverse() # 나중에 들어온 원소부터 출력하기 위해, 요소를 역순으로 바꾸기 print(queue) # 나중에 들어온 원소부터 출력
만약, deque 객체를 List 자료형으로 변환하고 싶다면, 아래 코드를 사용해 변환할 수 있습니다.
list(queue)
참고
- 이것이 취업을 위한 코딩 테스트다. with python
'Language > Python' 카테고리의 다른 글
[Python] 문자열을 문자로 분리하여 리스트로 저장 (0) | 2022.06.05 |
---|---|
[Python] 반복 함수와 재귀 함수 비교 (0) | 2022.06.04 |
[Python] List Comprehension(리스트 컴프리헨션)이란? (0) | 2022.06.02 |
[Python] List 의 문자열을 int 형태로 변환 (0) | 2022.06.02 |
[Python] 병렬 처리 방법 (2) | 2022.04.03 |
Comments