[백준 | Javascript] 3460

박기영·2023년 1월 7일
0

백준

목록 보기
124/127
post-custom-banner

백준 3460번 이진수

solution

const fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n").map(Number);

const iter = input[0];

for (let i = 1; i <= iter; i++) {
  const binary = input[i].toString(2);
  const binaryArr = [...binary].reverse();

  let ans = [];

  for (let j = 0; j < binaryArr.length; j++) {
    if (binaryArr[j] === "1") {
      ans.push(j);
    }
  }

  console.log(ans.join(" "));
}

toString(2)을 통해 문자열 입력값을 2진수로 변환한다.
이를 배열화하고, 뒤집어서 가장 작은 자리수가 0번 인덱스가 되도록 해준다.

배열을 순회하면서 1인 것들의 인덱스를 정답 배열에 저장한다.
정답 배열을 공백 기준으로 병합하여 출력한다.

profile
나를 믿는 사람들을, 실망시키지 않도록
post-custom-banner

0개의 댓글