IT/Algorithm | Coding Test

[프로그래머스 12911] [Java] 다음 큰 숫자

iamhyeon 2025. 3. 1. 00:25

 

 

public class 다음큰숫자 {

    public static int solution(int n) {

        /*
         while( true ) {
            if( n의 2진수 1의 갯수 == ++n의 2진수 1의 갯수 ) {
                break
            }
         }
         return n
         
        */

        int cnt = Integer.bitCount(n);  // n의 이진수에서 1의 개수 계산  ( O(1) )

        while (true) {	// O(n)
            if (cnt == Integer.bitCount(++n)) {
                break;
            }
        }
        
        return n;
    }

    public static void main(String[] args) {
        System.out.println(solution(78));
        System.out.println(solution(15));
    }
    
}

 

 

Integer.bitCount(n) 

- 주어진 정수 n의 이진수 표현에서 1의 개수를 계산한다

 

 

반응형