아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

서로 다른 부분 문자열의 개수

면접 대비

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

요약
길이가 최대 1000인 소문자 문자열에 등장하는 서로 다른 연속 부분 문자열의 개수를 구합니다.
난이도

보통10점 중 5점

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

문제

문자열 SS가 주어진다. SS의 서로 다른 부분 문자열이 몇 개인지 구하는 프로그램을 작성하시오.

부분 문자열은 SS에서 연속한 일부를 잘라낸 문자열이고, 길이가 1 이상이어야 한다.

예를 들어 ababc의 부분 문자열은 a, b, a, b, c, ab, ba, ab, bc, aba, bab, abc, abab, babc, ababc이고, 이 가운데 서로 다른 것은 12개다.

입력

첫째 줄에 문자열 SS가 주어진다. SS는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하다.

출력

첫째 줄에 SS의 서로 다른 부분 문자열의 개수를 출력한다.

예제4

  1. 예제 1

    입력
    ababc
    
    예상 출력
    12
    
  2. 예제 2

    입력
    a
    
    예상 출력
    1
    
  3. 예제 3

    입력
    aaaaaaaaaa
    
    예상 출력
    10
    
  4. 예제 4

    입력
    banana
    
    예상 출력
    15