hayu's 개발 일지

99클럽 코테 스터디 6일차 TIL + Stack 본문

자료구조&알고리즘

99클럽 코테 스터디 6일차 TIL + Stack

hayu00 2024. 5. 26. 21:01

학습 키워드

- Stack

 

공부한 내용

Stack

  • 스택(Stack)의 사전적 정의는 ‘쌓다’, ‘더미’로 접시 스택처럼 접시를 쌓아놓은 것을 말한다. 즉, 상자에 물건을 쌓아 올리듯이 데이터를 쌓는 자료구조라고 할 수 있다.
  • 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 구조 특징이 있는데, 이러한 자료의 구조를 LIFO(Last In First Out) 구조라고 한다.
  • 함께 많이 사용되는 Queue(큐)의 경우 먼저 추가된 데이터가 먼저 나오는 FIFO(First In First Out) 동작을 갖는 것과 비교된다.

Stack 사용처

  • 스택의 쓰임새의 대표적인 예로 총기류의 탄창을 들 수 있다. 마지막에 넣은 탄알이 가장 먼저에 발사되어 꺼내어지며, 결국에는 맨 처음에 넣은 탄환이 마지막에 발사되는 걸 떠올리면 된다.
  • 이밖에도 스택은 수식계산, 수식 괄호 검사, undo/redo, 웹브라우저의 뒤로 / 앞으로 등에 구현되기도 한다.

자바의 Stack

  • 자바의 Stack 클래스는 Vector 클래스를 상속 받기 때문에 Thread-Safe 하다는 특징을 가지고 있다.

 

회고

발생한 문제

- 자료구조에 대한 공부가 부족하다고 생각해서 Stack에 대해 공부했다.

 

해결 방법

- Stack에 대해 공부하고 알아보았다.

 

알게된 내용

- Stack에 대한 내용과 사용처에 대해 공부했다.

 

추후 학습할 내용

- Stack 의 메서드를 공부할 예정이다.