파이썬 스택의 최대 크기 지정
조회수 2362회
여기에 스택의 최대 크기를 지정할 수 있는 함수를 만들고 싶은데 어떻게 하면 되나요?
class MyStack:
def __init__(self):
self.myList = []
self.top = -1
self.size = 0
def isEmpty(self):
if (self.size > 0):
return False
else:
return True
def push(self, item):
self.myList.append(item)
self.size = self.size + 1
self.top = self.top + 1
def pop(self):
if self.isEmpty():
return None
else:
self.ret = self.myList.pop(self.top)
self.size = self.top - 1
self.top = self.top - 1
return self.ret
def peek(self):
if self.isEmpty():
return None
else:
return self.myList[self.top]
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
__init__
에서 크기를 지정하게 해서 짜 보았습니다.class MyStack: def __init__(self, max_size): self.myList = [] self.top = -1 self.size = 0 self.max_size = max_size def isEmpty(self): if self.size > 0: return False else: return True def push(self, item): if self.max_size < self.size: self.myList.append(item) self.size = self.size + 1 self.top = self.top + 1 else: raise ValueError('max size limit exceeded') def pop(self): if self.isEmpty(): return None else: self.ret = self.myList.pop(self.top) self.size = self.top - 1 self.top = self.top - 1 return self.ret def peek(self): if self.isEmpty(): return None else: return self.myList[self.top]
크기제한에 걸리면
ValueError
를 냅니다.-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력