stack의 구조를 가장 잘 표현해주는 이미지이다.
사실 stack을 설명할때 쌓여있는 책으로 표현을 많이 하는데, 난 편의상 쌓여있는 마카롱으로 이해했다.(가장 접근하기 쉬운 방법으로 이해하는 것이 좋다 ㅎㅎㅎㅎㅎ)
새로운 마카롱을 만들었다고 가정하자.
새로운 마카롱을 어디다 위치하는 것이 좋을까?
당연히, 노란색 마카롱 위에 위치하는 것이 좋다.
즉, 차례대로 밑에서부터 쌓아가는 과정이자 가장 최신에 만든 자료가 맨 위에 위치하는 방법이 stack이다.
- push : stack 맨 위(맨 끝)에 항목을 삽입하기
<사용법> s = [1,2,3,4,5] s.push(6) print(s) -> [1,2,3,4,5,6]
2. pop : stack 맨 끝의 항목을 빼내기
<사용법> s = [1,2,3,4,5,6] s.pop() # 6제거됨 print(s) -> [1,2,3,4,5]
3. top/peek : stack 맨 끝의 항목을 조회하기
<사용법> s = [1,2,3,4,5] print(s.peek()) -> 5 print(s) -> [1,2,3,4,5]
4. empty : 빈 stack인지 확인하기
<사용법> s = [1,2,3,4,5] print(s.isempty()) -> False
- size : stack 크기 확인
<사용법> s = [1,2,3,4,5] print(s.size()) -> 5
함수 설정
확인
출력