알고리즘 풀이

[JAVASCRIPT] 백준 1212번 문제 풀이

Lv1_junior_dev 2023. 4. 13. 20:54

❗ 풀이

const input = require('fs').readFileSync('dev/stdin').toString().trim();

let answer = '';

answer = input[0] === '0' ? '0' : parseInt(input[0], 8).toString(2);

for (let i = 1; i < input.length; i++) {
    const binaryDigit = parseInt(input[i], 8).toString(2).padStart(3, '0');
    answer += binaryDigit;
}

console.log(answer);
  1. 입력받은 8진수를 이진 표현으로 저장하는 변수 answer 정의
  2. 첫 번째 문자가 '0'인지 확인 후 참이라면 변수를 '0' 저장, 거짓이면, 첫 번째 숫자를 8진수로 해석한 후, 이를 2진수로 변환
  3. 두 번째 숫자부터 마지막 숫자까지 반복문을 실행
  4. 각 숫자를 8진수로 해석한 후, 이를 2진수로 변환
  5. padStart() 메소드를 사용하여, 2진수의 자릿수가 항상 3자리가 되도록 하고. answer 변수에 이진수 값을 더해줌
  6. 결과 출력