반응형
이번시간에는 Stack에 대해서 알아보도록 하겠다.
STACK
우리가 흔히 게임을 하다보면
" 스택을 쌓아야 더 강해진다 "
" 스택 쌓아야된다 "
" 스택 쌓였다 "
라는 식의 대화를 한 적 있을것이다.
이 말에서 힌트를 얻고, 스택은 무언가를 쌓는다고 할 수 있다.
자, 그럼 스택이 무엇인지 대충 알았을테니 제대로 시작해보자.
LIFO
Last Input First Out 의 약자인 LIFO 이다.
스택 알고리즘은 나중에 들어온것을 먼저 빼주는 방식으로 동작을 한다.
이 것을 보았을 때 아래와같은 이미지로 동작이 된다.
Function
이번 알고리즘에서는 아래와 같은 함수를 구현해 보겠다.
- push - 마지막 인덱스에 값을 추가한다
- pop - 마지막 인덱스의 값을 삭제하고 반환한다.
- peek - 마지막 인덱스의 값을 삭제하지 않고 반환한다.
- empty - 스택이 비어있는지 확인하고 상황에 맞는 true / false 를 반환한다
- search - 스택 내부에서 값을 검색 후 상황에 맞는 true / false 를 반환한다
정말 간단하면서도 중요하다고 생각하는 부분이 바로 이 STACK이다.
꼭 완벽히 습득하고 넘어가면 좋을거같다는 생각이 든다.
여러 언어로 이 stack을 구현해보고 댓글로 자신의 코드를 공유하면 좋을것 같다.
반응형
'JavaScript > 알고리즘' 카테고리의 다른 글
[백준 2292] NodeJS / Javascript 문제풀이 (0) | 2022.01.13 |
---|---|
[백준 1712] NodeJS / Javascript 문제풀이 (0) | 2021.12.24 |
알고리즘 스터디 - queue / 큐 (3) | 2021.06.04 |