Created
May 22, 2021 14:26
-
-
Save Park-Developer/ccde9ea3f085566b067f268f7b447fd6 to your computer and use it in GitHub Desktop.
Stack With List
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 고정 길이 스택 클래스 구현하기(collections.deque 사용) | |
from typing import Any | |
from collections import deque | |
class Stack: | |
def __init__(self,maxlen:int=256)-> None: | |
'''스택 초기화''' | |
self.capacity=maxlen | |
self.__stk =deque([],maxlen) | |
def __len__()->int: | |
return len(self.__stk) | |
def is_empty(self)->bool: | |
return not self.__stk | |
def is_full(self)->bool: | |
return len(self.__stk)==self.__stk.maxlen | |
def push(self,value:Any)->None: | |
self.__stk.append(value) | |
def pop(self)-> Any: | |
return self.__stk.pop() | |
def peek(self)-> Any: | |
return self.__stk[-1] | |
def clear(self)->Any: | |
self.__stk.clear() | |
def find(self,value:Any)-> Any: | |
try: | |
return self.__stk.index(value) | |
except ValueError: | |
return -1 | |
def count(self,value:Any)-> int: | |
return self.__stk.count(value) | |
def __contains__(self,value:Any)->bool: | |
return self.count(value) | |
def dump(self)->int: | |
print(list(self.__stk)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment