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

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

가장 긴 공통 부분 문자열

면접 대비

시간 제한3초메모리 제한128 MB

요약
길이 2000 이하의 소문자 단어가 최대 5개 주어질 때, 모든 단어에 연속한 부분 문자열로 등장하는 가장 긴 문자열의 길이를 구한다.
난이도

보통10점 중 5점

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

문제

알파벳 ['a', ..., 'z']로 이루어진 여러 개의 단어가 주어진다. 주어진 모든 단어에 연속된 부분 문자열로 등장하는 문자열 가운데 가장 긴 것의 길이를 구하여라.

다음을 수행하는 프로그램을 작성하라.

  • 표준 입력에서 단어들을 읽는다.
  • 주어진 모든 단어에 연속된 부분 문자열로 등장하는 문자열 가운데 가장 긴 것의 길이를 계산한다.
  • 그 결과를 표준 출력에 쓴다.

입력

표준 입력의 첫째 줄에는 단어의 개수를 나타내는 정수 nn이 주어지며, 1≤n≤51 \le n \le 5이다. 이어지는 nn개의 줄에는 각각 영어 소문자 ['a', ..., 'z']로 이루어진 단어가 하나씩 주어진다. 각 단어의 길이는 11 이상 20002000 이하이다.

출력

주어진 모든 단어에 연속된 부분 문자열로 등장하는 문자열 가운데 가장 긴 것의 길이를 정수 하나로 정확히 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    3
    abcb
    bca
    acbc
    
    예상 출력
    2