[JAVA/프로그래머스] LV.2 다음 큰 숫자

윤소영·2023년 11월 2일
0

JAVA

목록 보기
29/41

문제

문제 답안

class Solution {
    public int solution(int n) {
        int answer = 0;
        int cnt = bit(n);
        for(int i = n+1; i < 1000000; i++){
            int BitCmp = bit(i);
            if(cnt == BitCmp){
                answer = i;
                break;
            }
        }
        return answer;
    }
    public int bit(int n){
        int count = 0;
        while(n / 2 > 0){
            if(n%2 == 1)
                count++;
            n /= 2;
        }
        return count;
    }
}

답안 풀이

첨엔 2진수로 바뀐 string함수 따로, string에서 1을 찾아 count하는 함수 따로 만들어줬다.
그랬더니 효율성테스트에서 0점이였다.
비효율적이라는 리뷰를 받았고 리뷰대로 합쳐줬더니 효율성 테스트도 통과했다!

0개의 댓글