본문 바로가기
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};
        }
    }

    댓글