9. Decimal to Binary

스택의 LIFO(후입선출)를 이해해보자

algorithm test

09. Decimal to Binary

Sunhyup Lee. (2024). To be a successful candidate for the coding test. goldenrabbit. p.151.

Problem solving

10진수를 2진수로 바꾸는 과정을 통해 스택의 LIFO를 이해해보고자 한다.

LIFO of Stack

Jay Tak

function solution(decimal) {
  const stack = [];

  while (decimal > 0) {
    const remainder = decimal % 2;
    stack.push(remainder);
    decimal = Math.floor(decimal / 2);
  }

  let binary = "";
  while (stack.length > 0) {
    binary += stack.pop();
  }
  return binary;
}


그러나 2진수 변환은 자바스크립트 빌트인 메서드를 이용하여 훨씬 쉬운 방식으로 풀이도 가능하다

function solution(decimal) {
  return decimal.toString(2);
}

console.log(solution(24)); // "11000"

위와 같은 방식을 이용함으로써,

1) 코드가 매우 간결하고 이해하기 쉬워지며
2) 스택을 사용하지 않아 더 효율적으로 해결할 수 있고,
3) 자바스크립트의 내장메서드를 활용하므로, 직접 2진수 변환 로직을 작성할 필요가 없다.