백준 - 8진수 2진수

BooKi·2022년 5월 23일
0

백준

목록 보기
33/64
post-thumbnail

백준 - 8진수 2진수

문제

문제

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진수로 바꾸는 로직자체가 이해가 안간다

profile
성장을 보여주는 기록

0개의 댓글