포스트

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

Java에서 Integer.bitCount()로 1의 개수가 같은 다음 큰 수를 찾고, 완전 탐색 풀이의 효율성 한계를 정리한 풀이입니다.

For the English version of this post, see here.
[Java] 프로그래머스 - 다음 큰 숫자

Programmers 다음 큰 숫자

풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
    public int solution(int n) {
        
        int target = Integer.bitCount(n);
        
        while(target != Integer.bitCount(++n)) {
            
        }
        
        return n;
    }

}
  • 다른 풀이 방식으로도 계속 문제를 풀었는데, 정확성 테스트는 통과하는데 효율성 테스트를 통과하지 못하는 점이 어려웠다.

Integer.bitCount(n)

  • Java에서 해당 수를 2진수로 변환했을 때, 1의 개수를 바로 세는 함수