function solution(n) {
//주어진 숫자의 1의 갯수가 담긴 변수
const currentNumLength = n.toString(2).split("").filter(item => parseInt(item) === 1).length;
let answer = n;
let count = 1;
while(true) {
//count만큼 더해진 숫자의 1의 갯수가 담긴 변수
const nextNumLength = (n + count).toString(2).split("").filter(item => parseInt(item) === 1).length;
if(currentNumLength === nextNumLength) {
answer = (n+count);
break;
} else {
count++;
}
}
return answer;
}
다른사람들의 풀이를 보니 정규표현식을 이용한분들도 많고
신기하게 shift를 이용한 풀이법도 있어서 각 풀이법도 적용시켜서 해 보았다.