카테고리 없음
프로그래머스 > 다음 큰 숫자
단점이없어지고싶은개발자
2022. 10. 21. 19:30
반응형
1. result는 n보다 커야하고, 이진수로 변경했을 때, 1의 갯수가 같아줘야한다고 해서, toString,split,filter 메소드를 이용해 1의 갯수를 파악해줬다.
2. while문을 돌면서 bigNum++를 해주었고, 같은 값을 찾았을 때 while문이 끝나게 하고, 마지막으로 bigNum을 반환시켰다.
function solution(n) {
let isBig = true;
let bigNum = n + 1;
while(isBig) {
if (bigNum.toString(2).split("").filter((el) => el === "1").length === n.toString(2).split("").filter((el) => el === "1").length) {
isBig = false;
} else {
bigNum += 1;
}
}
return bigNum;
}
반응형