public class Solution {
int deleted = 0; // 제거된 0 개수
// 모든 0 제거
public String deleteAllZero(String s) {
int length = s.length(); // 0 제거하기 전 길이
s = s.replaceAll("0", ""); // 제거 후 길이
deleted += length - s.length();
return s;
}
// x의 길이를 2진법으로 변환
public String lengthToBinary(int length) {
StringBuilder sb = new StringBuilder();
// 이진수로 변환
while(length != 1) {
int remain = length % 2;
sb.append(remain);
length /= 2;
}
sb.append(length);
return sb.reverse().toString();
}
public int[] solution(String s) {
int count = 0;
// s가 1이 될 때까지 반복
while(!s.equals("1")) {
count++; // 변환 횟수 증가
s = deleteAllZero(s);
if(s.equals("1")) {
break;
}
s = lengthToBinary(s.length());
if(s.equals("1")) {
break;
}
}
int answer[] = new int[2];
answer[0] = count;
answer[1] = deleted;
return answer;
}
}