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

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.