후입선출 원리에 따라 정렬된 컬렉션으로
항상 동일한 종단점에서 추가/삭제 된다
후입 선출이므로 그냥 배열을 사용하는 것이 가장 좋을것 같다
class Stack {
	#store
   	constructor() {
    	this.#store = []
    }
	
	push(value) {
    	this.#store.push(value)
    }
	pop() {
		return this.#store.pop()
    }
	
	peek() {
      	const store = this.#store
    	return store[store.length - 1]
    }
}queue 자료구조를 이용해서 10진법 -> 2진법 으로 변경하는..
const binary = (number, arr=[]) => {
  if (number === 0) {
    let result = ""
    const len = arr.length
    for(let i=0; i<len; i++) {
      result += arr.pop()
    }
    return result
  }
  const quotient = Math.floor(number / 2)
  const remainder = number % 2
  arr.push(remainder)
  return binary(quotient, arr)
}
console.log(binary(10))