728x90
반응형
class Stack {
constructor() {
this.items = [];
}
// 스택에 요소 추가
push(element) {
this.items.push(element);
}
// 스택에서 가장 위의 요소 제거 후 반환
pop() {
if (this.isEmpty()) {
return "Stack is empty.";
}
return this.items.pop();
}
// 스택의 가장 위의 요소 반환 (제거하지 않음)
peek() {
if (this.isEmpty()) {
return "Stack is empty.";
}
return this.items[this.items.length - 1];
}
// 스택이 비어있는지 여부 확인
isEmpty() {
return this.items.length === 0;
}
// 스택의 크기 반환
size() {
return this.items.length;
}
// 스택의 모든 요소 출력
print() {
console.log(this.items);
}
}
// 스택 사용 예시
const stack = new Stack();
stack.push(1);
stack.push(2);
stack.push(3);
console.log(stack.peek()); // 3
console.log(stack.pop()); // 3
console.log(stack.size()); // 2
stack.print(); // [1, 2]
728x90
반응형
'개발공부 일지 > 코테' 카테고리의 다른 글
필수 알고리즘 암기(자바스크립트) (1) | 2023.10.17 |
---|---|
사방면보다 큰수의 갯수 구하기 (0) | 2023.06.26 |
격자판에서 최대값 구하기-JS, 자바스크립트 (0) | 2023.06.25 |
선택정렬(Selection Sort) - 자바스크립트(JS), C#(씨샵) (0) | 2023.06.25 |
등수 구하기 -JS, 자바스크립트 (0) | 2023.06.25 |
댓글