자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다.
자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요.
class Solution {
public int solution(int n) {
int answer = 0;
int ls = n;
while (true) {
String bs = Integer.toBinaryString(n);
bs = bs.replaceAll("0", "");
ls++;
String bs2 = Integer.toBinaryString(ls);
bs2 = bs2.replaceAll("0", "");
System.out.println(bs2);
int ln = bs.length();
int ln2 = bs2.length();
if (ln == ln2) {
answer = ls;
break;
}
}
return answer;
}
}
class Solution {
public int solution(int n) {
int answer = 0;
int ls = n;
int ln = Integer.bitCount(n);
// n을 2진수로 바꾼후 1의 개수 세기
for(int i = n+1 ; true; i++){
if(ln==Integer.bitCount(i)){
answer= i;
break;
}
// n을 1씩더하여 2진수로 변환한 후 1의개수고 같을경우 멈춤
}
return answer;
}
}