[JavaScript] 다음 큰 숫자

2022. 9. 25. 22:24Algorithm/프로그래머스

level : 2

문제 링크 : 다음 큰 숫자

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

My Solution

function solution(n) {
    let answer = n;
    const len = n.toString(2).split(/0/g).join('').length;
    while(true){
        answer++;
        if(len === answer.toString(2).split(/0/g).join('').length)
            return answer;
    }
}


풀이방법
answer에 n으로 초기화해주고 len에는 n을 이진수로 변환하였을 때, 1의 개수로 초기화해 주었다.

answer를 1씩 증가시키며 answer를 이진수로 변환하였을 때, 1의 개수가 len과 같으면 그 수를 반환해 주었다.

느낀점
정규식을 쓰면 쓸 수록 익숙해지는 것 같다. 처음에는 활용도가 좁게 사용하였지만 지금은 약간 자유롭게 다룰 수 있게 되었다.

무엇이든지 꾸준히 사용하여 까먹지 않게 해야겠다.

처음에 엄청 당황했으나 차근차근 풀어보니 간단히 풀수 있었다. 실전에서는 당황하면 쉬운 문제도 풀이법이 보이지가 않아 시험을 자주 망쳤었다. 다음 시험부터는 자신감을 가지고 당황하지 않고 차분히 풀어야겠다.

'Algorithm > 프로그래머스' 카테고리의 다른 글

[Python] 숫자 짝꿍  (0) 2022.10.20
[JavaScript] 단어 변환  (0) 2022.09.26
[JavaScript] 야근 지수  (0) 2022.09.17
[JavaScript] 베스트앨범  (0) 2022.09.17
[JavaScript] N개의 최소공배수  (0) 2022.09.16