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
인 것들의 인덱스를 정답 배열에 저장한다.
정답 배열을 공백 기준으로 병합하여 출력한다.