본문 바로가기
Devops/Data Structure

스택(Stack)이란 무엇인가?

by 광진구뚝배기 2021. 5. 31.

목적

 

      ◦  Stack 이해하기

 

 

 

 

시작하는 말

 

스택 · 큐에 대한 개념을 알지 못하고 알고리즘 문제를 풀었던 적이 있었다. 도저히 해결법을 몰랐었는데 지인이 큐로 풀면 된다고 했었던 기억이 있다. 그 때 큐를 처음 알게 되었다. 하지만 정확한 개념을 이해하지 못한채로 넘어갔었다. 올 해 초, 정보처리산업기사 자격증을 취득하였고 그 과정에서 스택 · 큐 자료구조를 제대로 공부하게 되었다. 그래서 오늘 그 개념에 대해 설명해보려고 한다. 스택 · 큐 포스팅 모두 내가 직접 그림판에서 그린 것이라 그림들이 조금 엉성할 수 있다.

 

 

 

 

 

스택(Stack)

스택은 LIFO(Last-In-First-Out) 즉, 후입선출 구조로 생각하면 된다.

쉽게 말해서, 차곡차곡 쌓아올리는 개념으로 보면 된다.

 

삽입 삭제 모두 Top 에서 이루어진다. ( Top : 스택의 가장 윗부분 )

 

stack 구조

 

 

Stack 연산

 

push() : 스택의 가장 윗 부부에 값을 추가한다.

pop() : Top 위치에 있는 항목을 제거한다.

peek() : Top 위치에 있는 항목을 반환한다. (제거 하지 않고 값 확인만!)

clear() : 스택에 모든 요소를 제거한다.

isEmpty() : 스택이 비어있으면 True 아니면 False

 

 

 

 

참고자료

 

Stack 을 활용하여 내가 푼 예제

https://ddukbaegi.tistory.com/20

 

[프로그래머스(programmers)] (2017 팁스타운) 짝지어 제거하기

알고리즘 문제 풀이 / 프로그래머스 (programmers) - 짝지어 제거하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소..

ddukbaegi.tistory.com

 

Queue에 관한 건 다음 포스팅에서 하겠다.

 

반응형

댓글