안녕하세요.
최근 파이썬을 공부하면서 기본적인 자료구조 알고리즘을 구현해보고자 생각이 들어서 포스팅을 하게 되었습니다.
제 노트북이 고장나서 노트북은 센터에 고이고이 잠들어있기 때문에.. 구름IDE로 코딩을 진행하였습니다.
나름 괜찮다고 생각이 드네요.
그럼 파이썬으로 구현한 스택 자료구조를 소개해드리도록 하겠습니다.
1. 스택이란?
먼저 스택 자료구조를 구현하기 전에 간단하게나마 해당 자료구조에 대해 알아보도록 하겠습니다.
위의 그림과 같이 스택은 push와 pop이라는 기능을 가지고 있습니다.
스택 자료구조는 말 그대로, 쌓아 올리는 것과 같은 자료구조입니다.
즉, push은 item을 쌓아올리는 기능이고, pop은 쌓여져 있는 item에서 제일 위의 것을 꺼내는 작업입니다.
따라서 스택 자료구조는 Last In First Out(LIFO) 와 같은 특성을 가지고 있습니다.
2. 스택 구현하기
제가 파이썬 코드로써 구현해볼 것은 클래스로 스택개체를 만들고, push와 pop기능을 구현하고 해당 스택이 비어있는지 확인하는 isEmpty기능까지 구현합니다.
또한 스택이 비어있을때 pop기능을 시도하면 에러메세지를 출력하며 False 값을 리턴하게 하겠습니다.
완성된 코드를 보면 아래와 같습니다.
일부로 파이썬에서 기본적으로 제공하는 pop() 기능을 이용하지 않고 Stack 자료구조의 pop기능을 구현하였습니다.
추가적으로 궁금한 사항은 댓글에 남겨주세요 :)
728x90
'Algorithm > 파이썬 풀이' 카테고리의 다른 글
#6_ 파이썬으로 링크드 리스트(Linked list) 구현하기 (1) | 2018.03.23 |
---|---|
#5_ 파이썬으로 큐(queue) 자료구조 구현하기 (0) | 2018.03.23 |
#3_ 설탕 배달(백준 2839번, 파이썬 풀이) (0) | 2017.11.23 |
#2_ 피보나치 함수(백준 1003번, 파이썬 풀이) (1) | 2017.11.20 |
#1_ 1로 만들기(백준 1463번, 파이썬 풀이) (0) | 2017.11.20 |