차차로그
[JS] 연습문제 > 다음 큰 숫자 본문
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를 리턴해준다.
'코딩테스트' 카테고리의 다른 글
[JS] 2017 팁스타운 > 짝지어 제거하기 (0) | 2022.09.14 |
---|---|
[JS] 완전탐색 > 카펫 (0) | 2022.09.13 |
[JS] 연습문제 > 피보나치 수 (0) | 2022.09.13 |
[JS] 연습문제 > 숫자의 표현 (0) | 2022.09.13 |
[JS] 스택/큐 > 올바른 괄호 (0) | 2022.09.13 |
Comments