class Solution {
public int solution(int n) {
int answer = 0;
String nBinaryCount = Integer.toBinaryString(n);
nBinaryCount = nBinaryCount.replace("0","");
int nCount = nBinaryCount.length();
while(true){
int temp = ++n;
String tempBinaryCount = Integer.toBinaryString(temp);
tempBinaryCount = tempBinaryCount.replace("0","");
int tempCount = tempBinaryCount.length();
if(nCount == tempCount){
answer = temp;
break;
}
}
return answer;
}
}
1. 먼저 n값에 대해 2진수 변환 후 0을 제외하여 길이를 구한다.
2. 무한 loop를 통해 n값 보다 큰 수에 대해 똑같이 2진수 변환 후 0을 제외하여 길이를 구한다.
3. 길이를 비교하여 같으면 break;
'📖Algorithm > Simulation, Math' 카테고리의 다른 글
자바 [Programmers] 2단계 - JadenCase 문자열 만들기 (0) | 2024.11.28 |
---|---|
자바 [Programmers] 2단계 - 이진 변환 반복하기 (0) | 2024.11.28 |
자바 [Programmers] 2단계 - 피보나치 수 (0) | 2024.11.28 |
자바 [Programmers] 2단계 - 올바른 괄호 (0) | 2024.11.25 |
C++ [Algorithm] - 백준 10810 공 넣기 (0) | 2024.08.06 |