[프로그래머스] Lv.2 이진 변환 반복하기.java

hgghfgf·2023년 5월 12일
0

프로그래머스

목록 보기
55/227

이진 변환 반복하기.java

class Solution {
    public int[] solution(String s) {
        int count = 0; // 이진 변환의 횟수
        int zeroCount = 0; // 제거된 0의 개수

        while (!s.equals("1")) {
            int len = s.length();
            s = s.replace("0", "");
            zeroCount += len - s.length(); // 제거된 0의 개수 더하기
            s = Integer.toBinaryString(s.length());
            count++;
        }

        int[] answer = {count, zeroCount};
        return answer;
    }
}

while문을 이용하여 s가 "1"이 될 때까지 계속해서 이진 변환을 가합니다. s의 길이를 구하기 위해 Integer.toBinaryString(s.length())을 사용합니다. 이진 변환의 횟수와 제거된 0의 개수를 구하기 위해 count와 zeroCount 변수를 사용합니다. 모든 과정을 마친 후, count와 zeroCount를 배열에 담아서 반환합니다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글