만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

11의 배수 애호가

시간 제한8초메모리 제한512 MB

요약
각 숫자를 문자열로 받아, 앞자리가 0이 아니면서 11의 배수인 부분 문자열의 개수를 센다.
난이도

보통10점 중 6점

유형
수학, 누적 합, 문자열
정답자
아직 제출이 없습니다

문제

에드워드 레븐은 11의 배수를 아주 좋아한다. 어떤 수를 보면 그 안에서 11의 배수가 되는 연속한 자릿수의 나열을 늘 찾아본다. 그는 이런 나열을 11-수열이라고 부른다. 예를 들어 17819 안에는 11-수열 781이 있다.

에드워드는 11-수열이 많은 수를 좋은 수라고 생각하고, 아주 좋은 수를 찾고 싶어 한다. 그 첫 단계로 주어진 수 안에 11-수열이 몇 개 있는지 간단히 세는 방법이 필요하다. 큰 수에서 하나씩 세는 일은 그에게도 쉽지 않다. 11-수열의 개수를 세는 프로그램을 작성하라.

11-수열은 앞에 0이 붙지 않은 양수여야 한다. 즉 나열의 첫 자리는 0이 될 수 없다. 시작 위치나 끝 위치가 다르면 값이 같아도 서로 다른 11-수열로 센다.

입력

입력은 여러 줄로 이루어진다. 각 줄에는 자릿수가 80000 이하인 수가 하나씩 주어진다.

입력의 끝은 0 하나만 있는 줄로 표시하며, 이 줄은 처리하지 않는다.

출력

각 입력 수마다 그 수에 있는 11-수열의 개수를 한 줄에 출력한다.

답은 32비트 부호 있는 정수 범위에 들어온다.

예제7

  1. 예제 1

    입력
    17819
    1111
    11011
    1234567891011121314151617181920
    0
    
    예상 출력
    1
    4
    4
    38
    
  2. 예제 2

    입력
    11
    0
    
    예상 출력
    1
    
  3. 예제 3

    입력
    011
    0
    
    예상 출력
    1
    
  4. 예제 4

    입력
    1100
    0
    
    예상 출력
    3
    
  5. 예제 5

    입력
    1234567
    0
    
    예상 출력
    0
    
  6. 예제 6

    입력
    99999999
    0
    
    예상 출력
    16
    
  7. 예제 7

    입력
    5
    10
    100
    1001
    0
    
    예상 출력
    0
    0
    0
    1