만드는 중입니다

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

Prefix와 Suffix

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

요약
문자열 S의 부분 문자열 중 A로 시작하고 B로 끝나는 서로 다른 부분 문자열의 개수를 센다. A와 B는 부분 문자열 안에서 겹칠 수 있다.
난이도

보통10점 중 6점

유형
문자열, 해시맵, 문자열 매칭
정답자
아직 제출이 없습니다

문제

문자열 SS, AA, BB가 주어진다.

SS의 부분 문자열 중에서 AA로 시작하고 BB로 끝나는 것이 몇 가지인지 구하는 프로그램을 작성하시오. 부분 문자열은 SS에서 연속한 구간을 뜻하고, 글자 구성이 같은 부분 문자열은 서로 다른 위치에서 나타나도 한 번만 센다. 한 부분 문자열 안에서 AA가 차지하는 구간과 BB가 차지하는 구간은 겹쳐도 된다.

입력

첫째 줄에 SS, 둘째 줄에 AA, 셋째 줄에 BB가 주어진다. 세 문자열 모두 알파벳 소문자로만 이루어져 있고, 길이는 1 이상 2,000 이하이다.

출력

첫째 줄에 AA로 시작하고 BB로 끝나는 서로 다른 부분 문자열의 개수를 출력한다.

힌트

SS가 abababab, AA가 a, BB가 b이면 조건을 만족하는 부분 문자열은 ab, abab, ababab, abababab 네 가지다.

예제3

  1. 예제 1

    입력
    round
    ro
    ou
    
    예상 출력
    1
    
  2. 예제 2

    입력
    abababab
    a
    b
    
    예상 출력
    4
    
  3. 예제 3

    입력
    aba
    ab
    ba
    
    예상 출력
    1