스택(Stack)
데이터를 차곡차곡 쌓아 먼저 들어간 데이터가 나중에 나가는 후입선출(Last In First Out, LIFO) 방식을 사용하는 자료구조이다.
JavaScript Code 및 사용 메서드
- push(): 삽입
- pop(): 삭제
let stack = [];
stack.push('data 1');
console.log(stack); // ['data 1']
stack.push('data 2');
console.log(stack); // ['data 1', 'data 2']
stack.push('data 3');
console.log(stack); // ['data 1', 'data 2', 'data 3']
stack.pop()
console.log(stack); // ['data 1', 'data 2']
큐( Queue)
먼저 들어온 데이터가 먼저 나가는 선입선출(First In First Out, FIFO)방식을 사용하는 자료구조이다.
현실에서 줄을 설때 앞사람부터 나가는 형식이라고 생각하면 된다.
JavaScript Code 및 사용 메서드
- push(): 삽입
- shift(): 삭제
let queue = [];
queue.push('data 1');
console.log(queue); // ['data 1']
queue.push('data 2');
console.log(queue); // ['data 1', 'data 2']
queue.push('data 3');
console.log(queue); // ['data 1', 'data 2', 'data 3']
queue.shift();
console.log(queue); // ['data 2', 'data 3']
덱(Deque)
스택과 큐의 결합형 자료구조이며, 어디서든 데이터가 나가고 들어올 수 있다.
JavaScript Code 및 사용 메서드
- push(): 삽입
- unshift(): 삽입
- pop(): 삭제
- shift(): 삭제
let deque = [];
deque.push('data 1');
console.log(deque); // ['data 1']
deque.unshift('data 2');
console.log(deque); // ['data 2', 'data 1']
deque.push('data 3');
console.log(deque); // ['data 2', 'data 1', 'data 3']
deque.shift();
console.log(deque); // ['data 1', 'data 3']
deque.pop();
console.log(deque); // ['data 1']
'Algorithm' 카테고리의 다른 글
[Baekjoon] 1018번 체스판 다시 칠하기 - Javascript (1) | 2023.12.05 |
---|---|
[Baekjoon] 1920번 수 찾기 - Javascript (2) | 2023.12.05 |
[Baekjoon] 11047번 동전 0 - Javascript (0) | 2023.12.04 |
[Baekjoon] 11399번 ATM - Javascript (0) | 2023.12.04 |
[Algorithm] 완전 탐색 (0) | 2022.07.10 |