Hyundolog

[Programmers] Lv2. 다음 큰 숫자 (JavaScript) 본문

문제 풀이/프로그래머스

[Programmers] Lv2. 다음 큰 숫자 (JavaScript)

hyundol97 2023. 6. 1. 20:03

문제

 

 


 

 

풀이

1차

function solution(n) {
    let answer = 0;
    let one_cnt = n.toString(2).split('').filter((v) => v === '1').length;
    
    for(let i = n+1; i <= 1000000; i++) {
        if(one_cnt === i.toString(2).split('').filter((v) => v === '1').length) {
            answer = i;
            break;
        }
        
    }
    
    return answer;
}

 

 

2차

function solution(n, a = n+1) {
    return n.toString(2).match(/1/g).length === a.toString(2).match(/1/g).length ? a : solution(n, a+1);
}

 

 


 

리뷰

  • match()를 활용하여 정규식으로 풀이
Comments