본문 바로가기
Algorithm

bitCount 메서드 사용 (다음 큰 숫자_프로그래머스)

by SuldenLion 2024. 2. 20.
반응형

 

10 진수 숫자가 주어지고, 그 수를 1씩 증가시킨다.

 

처음 주어진 숫자를 2 진수로 바꿔주고 그 수를 구성하는 1의 개수를 구한다.

 

1씩 증가하는 수를 2 진수화 시킨다.

 

이 때, 2 진수에 구성되는 1의 개수가 같은 다음 수를 구하는 문제.

 

 

 

Integer 클래스의 bitCount() 메서드를 사용하면 간단하게 1인 비트 수를 셀 수 있다.

 

class Solution {
    public int solution(int n) {
        int num = Integer.bitCount(n);
        int answer = n;
        
        while (true) {
            answer = answer + 1;
            int cnt = Integer.bitCount(answer);
            
            if (num == cnt) break;
        }
        
        return answer;
    }
}

 

반응형

댓글