프로그래머스 Lv2 2개 이하로 다른 비트

taeng·2022년 2월 24일
0

알고리즘

목록 보기
9/12

function solution(numbers) {
var answer=[];
for(let i=0; i <numbers.length; i++){
var x = gg(numbers[i]);
answer.push(x);
}
function gg(v){
var z = v.toString(2);
if(v%2 ==0){
return v+1;
}else{
if(z.match(/1/g).length==z.length){
z = z.padStart(z.length+1,'0');
return parseInt(z.replace('01','10'),2);
}
for(let i = z.length-1; i>=0; i--){
if(z[i]==0){
return parseInt(z.substr(0,i)+'10'+z.substr(i+2,z.length),2)
};
}
}
}
return answer;
}

profile
주니어 백엔드 개발자 공부 정리

0개의 댓글