알고리즘_스택(Stack)

김보람·2022년 4월 20일
0

알고리즘

목록 보기
1/1

들어가기에 앞서

자료구조 분류

출처) https://blog.naver.com/sun_zero2/221747373979

스택(Stack)

stack의 구조를 가장 잘 표현해주는 이미지이다.
사실 stack을 설명할때 쌓여있는 책으로 표현을 많이 하는데, 난 편의상 쌓여있는 마카롱으로 이해했다.(가장 접근하기 쉬운 방법으로 이해하는 것이 좋다 ㅎㅎㅎㅎㅎ)

새로운 마카롱을 만들었다고 가정하자.
새로운 마카롱을 어디다 위치하는 것이 좋을까?
당연히, 노란색 마카롱 위에 위치하는 것이 좋다.
즉, 차례대로 밑에서부터 쌓아가는 과정이자 가장 최신에 만든 자료가 맨 위에 위치하는 방법이 stack이다.

스택 구조에서 사용할 수 있는 명령어

  1. 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
  1. size : stack 크기 확인
    <사용법>
    s = [1,2,3,4,5]
    print(s.size()) -> 5

스택 구현방법

  1. 함수 설정

  2. 확인

  3. 출력

profile
starry_developer

0개의 댓글