Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Today
Total
관리 메뉴

차차로그

[JS] 연습문제 > 다음 큰 숫자 본문

코딩테스트

[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를 리턴해준다.

Comments