문제: https://school.programmers.co.kr/learn/courses/30/lessons/12911
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
int point = calc(n);
n = n + 1;
while(calc(n) != point){
if(calc(n) == point){
return n;
}
n += 1;
}
return n;
}
// num이 들어오면 해당 수의 이진수 변환시 1의 개수를 return
public int calc(int num){
int cnt = 0;
String num1 = Integer.toBinaryString(num);
for(char c : num1.toCharArray()){
if(c == '1'){
cnt++;
}
}
return cnt;
}
}
다소 코드가 긴 것 같아 다른 사람의 코드를 살펴보았다.
bitCount(n)
: 이진수 중에서 true bit의 개수를 찾는 함수
라는게 있어 나중에 유용하게 쓰일 것 같다!
참 쉽쥬잉~?