문제
숫자를 받는 JavaScript 함수를 작성해야 합니다.
우리의 함수는 숫자에 해당하는 이진법을 반복하고 인접한 비트를 교환하여 새 이진법을 구성해야 합니다. 그리고 마지막으로 우리 함수는 새로운 바이너리에 해당하는 10진수를 반환해야 합니다.
예시
다음은 코드입니다 -
const num = 13; const swapBits = (num) => { let arr = num.toString(2).split(''); if(arr.length % 2){ arr.unshift(0); } for(let i = 0; i < arr.length - 1; i = i + 2) { [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]]; } return +('0b' + arr.join('')); } console.log(swapBits(num));
출력
14