문제

내 최종코드

class Solution {
    public int solution(int n) {

        int answer = n + 1;
        int nowCount = getCount(n);

        while(true){
            int plusCount = getCount(answer);

            if(nowCount == plusCount){
                break;
            }else{
                answer++;
            }
        }

        return answer;
    }

    int getCount(int n){
        String binary = Integer.toBinaryString(n);
        char[] arr = binary.toCharArray();
        int count = 0;

        for(char c : arr){
            if('1' == c) count++;
        }

        return count;
    }

}
  • 주어진 숫자 n을 이진수로 바꿔서 String형 배열에 넣었는데 시간초과 오류가 떴다.
  • 이전 문제처럼 char형 배열로 변경해주었더니 통과되었다.