[알고리즘] Stack - JavaScript

2022. 8. 5. 17:23·알고리즘/풀이 힌트
반응형

스택? 

Last In First Out 개념을 가지고 있는 선형 자료구조이다. 

마지막에 들어간 요소가 먼저 나오는 방식의 자료구조이다. 

자료를 넣는 것을 Push, 빼는 것을 Pop이라고 부른다. 

 

 

스택의 동작 원리 

스택의 동작 원리는 간단하다. Push와 Pop 밖에 가능한 행동이 없기 때문에 그것이 끝이다. 

 

스택 자료구조의 사용처 

 

 

 

 

스택 자료구조를 사용하는 

가장 대표적인 곳은 스택 메모리이다. 

 

스택 메모리는 함수가 호출되면 생성되는 

지역변수와 매개변수가 저장되는 메모리다. 

 

 

 

 

 

 

 

 

sum 함수가 실행되면 스택 메모리에 

지역 변수, 반환 주소값과 매개 변수가 

저장된다. 

 

실행 후 함수가 종료되면 Pop이 실행되어

스택 메모리에서 사라진다.

 

 

 

 

 

 

 

 

 

이어서 print 함수가 실행된다. 

함수가 실행되면 내부에 있는 console.log도 

print 함수 위에 추가가 된다. 

 

이후 console.log가 작업이 끝나면 

먼저 사라지고, print 함수도 삭제된다. 

 

 

 

 

JavaScript에서 사용하기 

const stack = [];

stack.push(1);
stack.push(2);

stack.pop();

JavaScript에서는 Array, 즉 배열을 사용하면 쉽게 스택을 사용할 수 있다. 

배열은 이미 Push와 Pop이 존재하기 때문에 간단하게 사용이 가능하다. 

 

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘 > 풀이 힌트' 카테고리의 다른 글

[알고리즘] 해시 테이블 - JavaScript  (1) 2022.08.09
[알고리즘] Queue - JavaScript  (0) 2022.08.07
[알고리즘] 기준이 되는 배열로 만들 수 있는 모든 배열을 만들기  (1) 2022.08.01
[알고리즘] 이진 탐색 - JavaScript  (1) 2022.07.29
[알고리즘] 배열을 반복해 순차적으로 값을 변경 및 수정하기  (1) 2022.07.28
'알고리즘/풀이 힌트' 카테고리의 다른 글
  • [알고리즘] 해시 테이블 - JavaScript
  • [알고리즘] Queue - JavaScript
  • [알고리즘] 기준이 되는 배열로 만들 수 있는 모든 배열을 만들기
  • [알고리즘] 이진 탐색 - JavaScript
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    네트워크
    바질 키우기
    ReactNative
    알고리즘
    Node.js
    영어회화
    typescript
    자바스크립트
    webpack
    리얼클래스
    식물
    프로그래머스
    네이버 부스트캠프
    CCNA
    바질
    Docker
    리얼학습일기
    javascript
    Babel
    ChatGPT
    덤프
    redux
    CSS
    다이소
    react
    타입스크립트
    영어독학
    next.js
    리액트
    타일러영어
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[알고리즘] Stack - JavaScript
상단으로

티스토리툴바