// 생성자 파라미터에는 배열의 고정된 길이를 받아야 함.
constructor(arrayLength) {
this.#arrayLength = arrayLength;
this.#array = [];
this.#count = 0;
}
// 배열 맨 뒤에 요소 추가
// 배열의 길이가 #arrayLength를 초과할 경우 요소를 추가하면 안 됨.
push(element) {
if (this.#count < this.#arrayLength) this.#array[this.#count++] = element;
}
// 배열의 맨 마지막 요소를 제거하고 그 요소를 반환
pop() {
if (this.#count > 0) return this.#array[--this.#count];
}
// 현재 배열의 사용되고 있는 크기를 반환
getLength() {
return this.#count;
}
// 현재 배열의 상태를 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 알고리즘 코드 카타 과제를 정리한 내용입니다.