프로그래머스 Lv2 이진 변환 반복하기 Java

Android Chen·2021년 11월 12일
0
post-custom-banner

문제설명

구현방법

  • replace로 0을 없애고 없애기 이전 길이와 없앤 후 길이를 비교하여 answer[1]에 더한다.
  • s를 s의 길이를 이진수로 바꾼 값으로 저장한다. 이때, Integer.toBinaryString을 이용하면 편리하게 가능하다.
  • s가 "1"이 될때까지 반복한다.

코드

import java.util.*;
class Solution {
    public int[] solution(String s) {
        int answer[] = new int[2];
        Arrays.fill(answer,0);
        while(!s.equals("1")){
            String save = s;
            s = s.replace("0","");
            answer[1] += (save.length()-s.length());
            int temp = s.length();
            s = Integer.toBinaryString(temp);
            answer[0]++;
        }
        return answer;
    }
}
profile
https://github.com/Userz1-redd
post-custom-banner

0개의 댓글