만드는 중입니다

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

반복

면접 대비

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

요약
각 문자열에서 겹치지 않고 두 번 나타나는 가장 긴 부분 문자열을 찾습니다. 길이가 같으면 먼저 나타나는 것을 출력합니다.
난이도

보통10점 중 5점

유형
문자열, 동적 계획법, 문자열 매칭
정답자
아직 제출이 없습니다

문제

선생님은 학생들의 글에서 단어와 구절이 반복되면 감점한다. 새로운 문장 구조를 익히거나 유의어 사전을 활용할 수 있는데도 반복을 택했기 때문이다. 반복을 지적받지 않으려고 글에서 반복되는 부분 문자열을 찾아 가장 긴 것을 고치기로 했다. 문자열이 주어지면 서로 겹치지 않는 가장 긴 반복 부분 문자열을 찾는 프로그램을 작성하시오.

입력

첫 줄에 데이터 세트의 개수를 나타내는 정수 n이 주어진다. 이어지는 각 줄에는 길이를 알 수 없는 영문자로 된 문자열이 하나씩 주어진다.

출력

각 데이터 세트마다 가장 긴 반복 부분 문자열의 길이, 공백 하나, 그리고 그 반복 부분 문자열을 출력한다. 길이가 같은 것이 여럿이면 문자열에서 먼저 나타나는 것을 출력한다.

예제1

  1. 예제 1

    입력
    2
    thequickbrownfoxjumpedoverthelazydog
    ratsarejustlikebigmicebutratsarecompletelydifferentanimals
    
    예상 출력
    3 the
    7 ratsare