반응형
문제
내 풀이
2진수로 변환 후 1의 개수를 구하는 식이 반복되어서 함수를 생성하였다.
n+1 숫자부터 보고 2진수 변환 후 1의 개수가 동일하다는 조건을 만족하는 숫자가 나오는 즉시 그 숫자를 해답으로 반환한다.
function solution(n) {
const binaryN = getOneNum(n);
let temp = n;
while(true) {
const binaryTemp = getOneNum(++temp);
if(binaryTemp === binaryN) return temp;
}
}
const getOneNum = (num) => {
return num.toString(2).split('1').length - 1
}
반응형
'CS > 알고리즘' 카테고리의 다른 글
[230326] 짝지어 제거하기: stack (0) | 2023.03.26 |
---|---|
[230326] 영어 끝말잇기 (0) | 2023.03.26 |
[230326] 숫자의 표현 (0) | 2023.03.26 |
[230325] 3진법 뒤집기: parseInt, toString (0) | 2023.03.26 |
[230325] 이진 변환 반복하기 (0) | 2023.03.26 |