👀 문제
https://programmers.co.kr/learn/courses/30/lessons/12911
👊 도전
1. 설계
- n+1부터 2진수로 변환했을 때 1의 개수를 센다.
- n을 이진수로 변환한 값의 1의 개수와 같은지 확인한다.
2. 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.*;
/**
*
* @author HEESOO
*
*/
class Solution {
public int solution(int n) {
int answer = n+1;
int oneCnt=Integer.bitCount(n);
while(true){
if(Integer.bitCount(answer)==oneCnt) break;
else answer++;
}
return answer;
}
}
3. 결과
🤟 성공 🤟
4. 설명
- n+1부터 조건에 맞는지 체크한다
- n+1부터 하나씩 늘려가면서 조건에 맞는 숫자를 리턴한다.
- Integer.bitCount(n)은 숫자 n을 2진수로 변환했을 때 1의 개수를 리턴해주는 메소드이다.