곰퓨타의 SW 이야기

[python] deque란❓ 본문

TIL/코테개념_python

[python] deque란❓

곰퓨타 2020. 12. 27. 15:15

다음과 같은 문제를 해결한 후, 다른 사람의 풀이를 보며, deque의 역할이 무엇인지에 대한 의문을 갖게 되었다.

 

programmers.co.kr/learn/courses/30/lessons/42584

 

코딩테스트 연습 - 주식가격

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00

programmers.co.kr

 

stack&queue 관련 문제였기 때문에 queue를 해결할 수 있는 도구가 있다면 쉽게 문제를 해결할 수 있을 것 같았다.

따라서 파이썬에 ❓queue를 해결할 수 있는 라이브러리가 있을까❓라는 의문을 갖게 되었다.

 

파이썬에서는 아래와 같은 코드로 스택 혹은 큐를 관리할 수 있다는 것을 알게 되었다.

from collections import deque

 

1. stack ( last-in first-out) 구현을 위한 deque

>>> prices = deque([1,2,3,2,3])
>>> prices.append(4)			#deque([1,2,3,2,3,4])
>>> prices.pop()
4

 

2. queue ( first-in first-out) 구현을 위한 deque

>>> prices.appendleft(5)		#deque([5,1,2,3,2,3])
>>> prices.pop()				#deque([5,1,2,3,2])
3
>>> prices.popleft()			#deque([1,2,3,2])
5

 

이는 list와 같이 insert(),remove()도 제공한다는 것 또한 알 수 있었다.

 

앞으로 stack, queue를 작성할 일이 많을 것 같으므로 잘 활용해봐야겠다❗️😊

 

Comments