1. 검사하는 문자열이 “1”이 될 때까지 반복
s가 “1”이 될 때까지 반복하는 것은 문자열 비교 메서드 equals()를 사용하여 다음과 같이 작성할 수 있습니다.
public int[] solution(String s) {
int loop = 0;
int removed = 0;
while (!s.equals("1")) {
// s 변환하며 loop, removed 누적
}
return new int[] {loop, removed};
}
1-A. 문자열에 포함된 0의 개수 세기
문자열 변환의 첫 번째 단계는 문자열에 포함된 0의 개수를 세는 것입니다. 0의 개수를 세기 위해 문자열을 전달받아 0의 개수를 세는 countZeros() 메서드를 정의합니다.
private int countZeros(String s) {
int zeros = 0;
for (char c : s.toCharArray()) {
if (c == '0') zeros++;
}
return zeros;
}
잠깐만요
숫자가 아닌 문자의 비교임에 주의하세요. 문자열을 구성하는 단위는 숫자가 아닌 문자입니다. 따라서 문자 c가 0인지 비교하기 위해서는 정수 0이 아니라 문자 ‘0’과 비교해야 합니다.