1-A-i. 0의 개수와 제거 횟수 누적
이 메서드를 사용하여 변환할 때 변환 횟수와 제거된 0의 개수를 누적해줄 수 있습니다.
while (!s.equals("1")) {
int zeros = countZeros(s);
loop += 1;
removed += zeros;
// 문자열 s 변환
}
1-B. 나머지 1의 개수를 사용해서 2진법으로 변환하여 1부터 반복
0의 개수를 알고 있으므로 1의 개수도 구할 수 있습니다. 또 구한 1의 개수를 2진법으로 변환하여 s를 변환할 수 있습니다.
while (!s.equals("1")) {
int zeros = countZeros(s);
loop += 1;
removed += zeros;
int ones = s.length() - zeros;
s = Integer.toString(ones, 2);
}