본문 바로가기
Algorithm/프로그래머스풀이

[알고리즘 문제풀이] 프로그래머스 - 이진 변환 반복하기 / JAVA(자바)

by 계범 2022. 3. 27.

https://programmers.co.kr/learn/courses/30/lessons/70129

 

코딩테스트 연습 - 이진 변환 반복하기

 

programmers.co.kr

/**
    1. replaceAll로 0 제거.
    
    2. 길이비교하여 0 제거 개수 체크
    
    3. 남은 길이를 2진법으로 다시 변환
    
    4. 반복하여 1이 남을때까지 체크하여 정답 반환.
**/

class Solution {
    public int[] solution(String s) {
        
        int zeroCnt = 0;
        int convertCnt = 0;
        
        while(!s.equals("1")){
            int length = s.length();
            s = s.replaceAll("0","");
            int newLength = s.length();
            zeroCnt += length - newLength;
            s = Integer.toBinaryString(newLength);
            convertCnt++;
        }
        
        
        return new int[] {convertCnt, zeroCnt};
    }
}

댓글