Stack에 대한 이해 Javascript

cptkuk91·2022년 8월 18일
1

Algorithm

목록 보기
67/161

Stack

가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조입니다.
LIFO(Last-In, First-Out) 또는 FILO(First-In, Last-Out)

사용 예시

const stack = new Stack();

stack.size(); // 0
for(let i = 1; i < 10; i++) {
  	stack.push(i);
}
stack.pop(); // 9
stack.pop(); // 8
stack.size(); // 7
stack.push(8);
stack.size(); // 8
...

풀이

class Stack {
	constructor() {
    	this.storage = {};
        this.top = 0;
    }
    
    size() {
    	return this.top;
    }
    
    push(element) {
    	this.storage[this.top] = element;
        this.top += 1;
    }
    
    pop(){
    	if(this.size() <= 0){
        	return
        }
        
		let result = this.storage[this.top - 1];
        delete this.storage[this.top - 1];
        this.top -= 1;
        
        return result;
    }
}

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글