Algorithm
[알고리즘/파이썬] queue를 이용한 stack 구현
토산인
2022. 9. 20. 23:22
큐를 이용해 스택을 구현해보자
먼저 큐(queue)는선입선출(FIFO)로 먼저 들어간 요소가 먼저 나오고
스택(stack)은 후입선출(LIFO)로 마지막에 들어간 요소가 가장 먼저 나온다.
구현할 스택 연산
push(x) : 요소 x를 스택에 삽입한다.
pop() : 스택의 첫 번째 요소를 삭제한다.
top() : 스택의 첫 번째 요소를 가져온다.
empty() : 스택이 비어 있는지 여부를 리턴한다.
class Stack :
def __init__(self) :
self.que = collections.deque()
def push(self, int x) :
self.que.append(x)
for i in range(len(self.que)-1) :
self.que.append(self.que.popleft())
def pop(self) :
return self.que.popleft()
def top(self) :
return self.que[0]
def empty(self) :
if len(self.que)==0 :
return True
else :
return False