본문 바로가기
Beakjoon&프로그래머스/Java

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

by 현장 2025. 2. 28.

-Code

class Solution {
    public int solution(int n) {
        int one_cnt = getOneCnt(Integer.toString(n, 2));
        int num = n;
        while (true) {
            num++;
            int next_one_cnt = getOneCnt(Integer.toString(num, 2));
            if (one_cnt == next_one_cnt) {
                break;
            }
        }
        return num;
    }

    public static int getOneCnt(String bin) {
        int answer = 0;
        for (char c : bin.toCharArray()) {
            if (c == '1') answer++;
        }
        return answer;
    }
}