[자료구조] 정적배열 push, pop, length, stringify 구현

우엥·2024년 5월 20일

✔️ 정적 배열 생성자 함수

  // 생성자 파라미터에는 배열의 고정된 길이를 받아야 함.
  constructor(arrayLength) {
    this.#arrayLength = arrayLength;
    this.#array = [];
    this.#count = 0;
  }

 

✔️ push

  // 배열 맨 뒤에 요소 추가
  // 배열의 길이가 #arrayLength를 초과할 경우 요소를 추가하면 안 됨.
  push(element) {
    if (this.#count < this.#arrayLength) this.#array[this.#count++] = element;
  }

 

✔️ pop

  // 배열의 맨 마지막 요소를 제거하고 그 요소를 반환
  pop() {
    if (this.#count > 0) return this.#array[--this.#count];
  }

 

✔️ getLength

  // 현재 배열의 사용되고 있는 크기를 반환
  getLength() {
    return this.#count;
  }

 

✔️ stringify

  // 현재 배열의 상태를 string으로 반환
  stringify() {
    let arrToStr = "[";
    for (let i = 0; i < this.#count; i++) {
      arrToStr += this.#array[i];
      if (i !== this.#count - 1) arrToStr += ",";
    }

    return arrToStr + "]";
  }

 

240520 알고리즘 코드 카타 과제를 정리한 내용입니다.

profile
🌸😊🌸

0개의 댓글