처리조건
풀이
n으로 입력받은 숫자를 toString으로 2진수 변환하고 2진수 자리마다 1의 갯수를 카운트한다. 이후 while문을 돌리면서 n을 1씩 올려주며 해당 n에서도 2진수변환후 1의 갯수를 카운트하고 앞전 1의 갯수와 같다면 break하고 현재 n을 리턴해주면 된다. 쉽다.
function solution(n) {
let standardV = n.toString(2);
let standardC = 0;
for (one of standardV) {
if (one === "1") standardC++;
}
while (1) {
n++;
let standardV2 = n.toString(2);
let standardC2 = 0;
for (one of standardV2) {
if (one === "1") standardC2++;
}
if (standardC === standardC2) break;
}
return n
}
'일반 학습 > 코딩 테스트' 카테고리의 다른 글
[프로그래머스] 숫자의 표현 (0) | 2022.05.03 |
---|---|
[프로그래머스] 땅따먹기 (0) | 2022.05.03 |
[프로그래머스] 올바른 괄호 (0) | 2022.05.02 |
[프로그래머스] 가장 큰 정사각형 찾기 (0) | 2022.05.02 |
[프로그래머스] 방문 길이 (0) | 2022.05.02 |
댓글