문제
8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오.
입력
첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.
출력
첫째 줄에 주어진 수를 2진수로 변환하여 출력한다.
수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.
예제 입력 1
314
예제 출력 1
11001100
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim();
let result = [];
for (let i = 0; i < input.length; i++) {
let number = Number(input[i]);
let changeTwo = number.toString(2);
if (i !== 0) {
if (changeTwo.length < 3) {
changeTwo = "0".repeat(3 - changeTwo.length) + changeTwo;
result.push(changeTwo);
}
else {
result.push(changeTwo);
}
}
else {
result.push(changeTwo);
}
}
console.log(result.join(''));
처음에는 toString랑 parseInt를 시도해봤는데 계속 실패했다
이유도 모르겠고 이해가 안돼서 결국 오랜만에 검색을 했다
근데 진짜 문제는 검색을 해도 모르겠는게 너무 문제다
계속해서 이해해보려고했는데 8진수를 2진수로 바꾸는 로직자체가 이해가 안간다