백준 1212 8진수 2진수 (수학)

bkboy·2022년 6월 15일
0

백준 초급

목록 보기
70/80

문제

풀이

const input = require('fs').readFileSync('/dev/stdin').toString().trim();
const sol = (input) => {
  let answer = "";
  const arrOct = input.split("");

  arrOct.forEach((e, i) => {
    let binary = parseInt(e, 8).toString(2);
    while (i != 0 && binary.length < 3) {
      binary = "0" + binary;
    }
    answer += binary;
  });

  return answer;
};

console.log(sol(input));

2진수 8진수 문제처럼 해줘야한다.

이번엔 한자리씩 끊어서 이진수로 바꿔줘야한다. while문을 살펴보면 i != 0 즉 맨 앞자리를 제외하고 binary.length 이진수의 길이가 3보다 짧다면 앞에 0을 붙인다.

이런 과정으로 2진수로 바꾼 값을 answer에 누적한다.

profile
음악하는 개발자

0개의 댓글