문제
음수가 아닌 고유한 정수 배열을 취하는 JavaScript 함수를 작성해야 합니다. 우리의 함수는 이진 표현에서 정수가 시퀀스에 있는 인덱스(오른쪽부터 계산)에서만 1을 갖도록 32비트 정수를 반환해야 합니다.
예시
다음은 코드입니다 -
const arr = [1, 2, 0, 4];
const buildDecimal = (arr = []) => {
const bitArr = Array(31).fill(0);
let res = 0;
arr.forEach(el => {
bitArr.splice((31 - el), 1, 1);
})
bitArr.forEach((bit, index) => {
res += (2 * (31-index) * bit);
});
return res;
};
console.log(buildDecimal(arr)); 출력
다음은 콘솔 출력입니다 -
14