코딩테스트
[JS] 연습문제 > 다음 큰 숫자
차차한
2022. 9. 13. 11:19
function solution(n) {
var answer = 0;
var num = n.toString(2).split("1").length;
while(true){
answer = ++n;
if(answer.toString(2).split("1").length == num){
break;
}
}
return answer;
}
n 다음 큰 수가 n을 2진수로 변환했을 때 1의 개수와 같기 때문에 1의 개수를 변수 num에 미리 저장해둔다.
다음 수를 찾을 때까지 계속 값을 더해야하기 때문에 while 반복문을 돌려
n에서 1씩 더하면서 그 값(answer)을 2진수로 변환하고 1의 개수가 num과 같다면 반복문을 빠져나오고 answer를 리턴해준다.