https://school.programmers.co.kr/learn/courses/30/lessons/12911
나의 풀이
function solution(n) {
const count = (num) => num.toString(2).match(/1/g).length;
for(i=(n+1); i< 1_000_000; i++) if(count(n) == count(i)) return i
}
마침 바로 이전 문제에서 다른 분이 match를 활용한 것을 보고 아 여기다 사용하면 제격이겠다 해서 사용했다.
다른 사람 풀이
function solution(n,a=n+1) {
return n.toString(2).match(/1/g).length == a.toString(2).match(/1/g).length ? a : solution(n,a+1);
}
오 재귀함수를 사용하시다니 이 풀이도 괜찮은 것 같다.
'알고리즘 > 프로그래머스 - JS' 카테고리의 다른 글
[프로그래머스] level.2 짝지어 제거하기 (1) | 2022.09.26 |
---|---|
[프로그래머스] level.2 숫자의 표현 (0) | 2022.09.26 |
[프로그래머스] level.2 올바른 괄호 (0) | 2022.09.24 |
[프로그래머스] level.2 최솟값 만들기 (1) | 2022.09.23 |
[프로그래머스] level.2 이진 변환 반복하기 (0) | 2022.09.22 |