더북(TheBook)

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’과 비교해야 합니다.