반응형
문제 설명
- 자연수 n이 매개변수로 주어진다
- n의 다음 큰 숫자는 다음과 같이 정의
- 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수
- 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 개수가 같다
- 조건 3. n의 다음 큰 숫자는 조건 1,2 를 만족하는 수중 가장 작은 수
- 자연수 n의 다음 큰 숫자를 반환하는 solution 함수를 완성하시오
제한사항
- n은 1,000,000 이하의 자연수
입출력 예시
전체 코드
function solution(n) {
let originalLength = n
.toString(2)
.split("")
.filter((item) => item == 1).length;
while (1) {
let tempNum = ++n;
let tempLength = tempNum
.toString(2)
.split("")
.filter((item) => item == 1).length;
if (originalLength === tempLength) return tempNum;
}
}
'Programmers' 카테고리의 다른 글
(Programmers) [Lv. 0] 머쓱이보다 큰 사람 (0) | 2023.02.13 |
---|---|
(Programmers) [Lv. 2] 짝지어 제거하기 (0) | 2023.02.10 |
(Programmers) [Lv. 1] 같은 숫자는 싫어 (0) | 2023.02.10 |
(Programmers) [Lv. 1] 최대공약수와 최소공배수 (0) | 2023.02.10 |
(Programmers) [Lv. 1] 직사각형 별찍기 (0) | 2023.02.10 |