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

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

구간 성분

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

요약
두 소문자 문자열에서 문자 구성이 같은 연속 구간 쌍 중 가장 긴 길이를 구합니다.
난이도

보통10점 중 6점

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

문제

매 초마다 신호를 하나씩 내보내는 장치 A와 B가 있다. 각 장치가 내보낸 신호는 알파벳 소문자를 시간 순서대로 늘어놓은 서열로 나타낸다. 예를 들어 A와 B의 신호 서열 SAS_A, SBS_B가 다음과 같다고 하자.

  • SAS_A = [a, f, c, d, r, d, e, s, d, e, f, w, s, z, r]
  • SBS_B = [g, e, d, s, r, d, d, e, m, z, r]

구간은 서열에서 연속한 부분을 뜻한다. 두 구간에 들어 있는 문자의 종류와 개수가 순서와 상관없이 같으면 두 구간의 성분이 같다고 한다. 아래 그림에서 상자로 표시한 두 구간은 성분이 같다. SAS_A의 4번째 문자부터 10번째 문자까지인 d, r, d, e, s, d, e와 SBS_B의 2번째 문자부터 8번째 문자까지인 e, d, s, r, d, d, e는 둘 다 d 3개, e 2개, r 1개, s 1개로 이루어져 있다.

성분이 같은 두 구간은 길이가 반드시 같다. 성분이 같은 구간 쌍은 여러 개 있을 수 있다. 두 신호 서열에서 성분이 같은 구간 쌍 중 가장 긴 것을 찾아라.

입력

첫째 줄과 둘째 줄에 신호 서열이 공백 없는 문자열로 하나씩 주어진다. 두 문자열은 영문 소문자로만 이루어져 있다. 두 문자열의 길이 NN, MM은 1≤N,M≤15001 \le N, M \le 1500이다.

출력

성분이 같은 구간 쌍 중 가장 긴 구간의 길이를 첫째 줄에 출력한다. 성분이 같은 구간 쌍이 하나도 없으면 00을 출력한다.

예제3

  1. 예제 1

    입력
    xraphy
    edgeedgem
    
    예상 출력
    0
    
  2. 예제 2

    입력
    afcdrdesdefwszr
    gedsrddemzr
    
    예상 출력
    7
    
  3. 예제 3

    입력
    computersystem
    sesystuercomplexity
    
    예상 출력
    11