자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다.
자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요.
n | result |
---|---|
78 | 83 |
15 | 23 |
n을 2진수로 바꾼 뒤 0은 filter 한다.
for 문을 돌려 n보다 큰 숫자부터 2진수로 바꾼 뒤 0을 filter 한다.
n2와 i2의 길이가 같다면 i를 10진수로 바꿔 return 한다.
function solution(n) {
const n2 = n.toString(2).split('').filter(num => num === '1').length;
for(let i=n+1; n<=1000000; i++) {
const i2= i.toString(2).split('').filter(num => num === '1').length;
if(n2 === i2) {
return +i.toString(10);
}
}
}