코딩스터디

JavaScript로 스택(Stack) 구현하기

애플앤마블 2023. 7. 13. 16:30
반응형
SMALL

안녕하세요! 오늘은 JavaScript를 사용하여 스택(Stack)을 구현하는 방법에 대해 알아보겠습니다. 스택은 가장 간단한 자료 구조 중 하나로, 후입선출(LIFO, Last-In-First-Out) 원칙을 따릅니다. 이러한 특성 때문에 스택은 많은 프로그래밍 문제에서 유용하게 사용됩니다.

자, 그럼 바로 시작해봅시다!

1. 스택 클래스 생성하기

우선, 스택을 구현하기 위해 Stack 클래스를 생성합니다. 아래의 코드를 참고해주세요.

class Stack {
  constructor() {
    this.items = [];
  }

  // 스택에 요소 추가하기
  push(element) {
    this.items.push(element);
  }

  // 스택의 가장 위의 요소 제거하기
  pop() {
    if (this.isEmpty()) {
      return "스택이 비어있습니다.";
    }
    return this.items.pop();
  }

  // 스택의 가장 위의 요소 반환하기
  peek() {
    return this.items[this.items.length - 1];
  }

  // 스택이 비어있는지 확인하기
  isEmpty() {
    return this.items.length === 0;
  }

  // 스택의 크기 반환하기
  size() {
    return this.items.length;
  }

  // 스택 초기화하기
  clear() {
    this.items = [];
  }
}

2. 스택 사용하기

이제 Stack 클래스를 사용하여 스택을 생성하고 다양한 연산을 수행할 수 있습니다. 아래의 코드를 참고해주세요.

// 스택 생성
const stack = new Stack();

// 요소 추가하기
stack.push(10);
stack.push(20);
stack.push(30);

// 스택 크기 확인
console.log(stack.size()); // 출력: 3

// 가장 위의 요소 확인
console.log(stack.peek()); // 출력: 30

// 요소 제거하기
console.log(stack.pop()); // 출력: 30

// 스택이 비어있는지 확인
console.log(stack.isEmpty()); // 출력: false

// 스택 초기화
stack.clear();
console.log(stack.isEmpty()); // 출력: true

위의 예시에서는 스택을 생성한 후, push() 메서드로 요소를 추가하고, pop() 메서드로 요소를 제거하는 등의 기본적인 연산을 수행하였습니다. 또한, peek() 메서드를 사용하여 스택의 가장 위의 요소를 확인하고, isEmpty() 메서드를 사용하여 스택이 비어있는지 확인할 수 있습니다.

 

이렇게 JavaScript로 스택을 구현하고 사용하는 방법에 대해 알아보았습니다. 스택은 다양한 알고리즘과 데이터 구조에서 유용하게 활용될 수 있으므로, 다양한 문제를 해결할 때 스택을 고려해보시기 바랍니다.

반응형
LIST