개발 => 복습 후 재정리 대기/Python

[Python] Stack, 스택

장 상 현 2021. 5. 28.
파이썬의 리스트 자료구조로 스택 클래스를 만들면 다음과 같을 것이다.

class stack:
	def __init__(self):
		self.items = []

	def isEmpty(self):
		return self.items == []

	def push(self, item):
		self.items.append(item)

	def peek(self):
		return self.items[-1]

	def size(self):
		return len(self.items)

	def pop(self):
		return self.items.pop()
이렇게 작성한 스택 클래스로 문자열을 뒤집는 함수를 만들면 다음과 같다.

def reverseString(str):
	s = stack()
	result = ""
	for i in str:
		s.push(i)
	while s.isEmpty() != True:
		result += s.pop()
	return result
함수의 실행 결과는 다음과 같다.

>>> print(reverseString("apple"))
elppa
>>>

출처 - 리브레

댓글