[Java] 프로그래머스 - 다음 큰 숫자
Java에서 Integer.bitCount()로 1의 개수가 같은 다음 큰 수를 찾고, 완전 탐색 풀이의 효율성 한계를 정리한 풀이입니다.
For the English version of this post, see here.
[Java] 프로그래머스 - 다음 큰 숫자
풀이
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의 개수를 바로 세는 함수