Where Am I?

면접 대비

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

요약
우체통 색을 나타낸 길이 N 문자열이 주어질 때, 길이 K인 모든 부분 문자열이 서로 다르게 되는 가장 작은 K를 구한다. 답은 항상 N 이하다.
난이도

보통10점 중 4점

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

문제

Farmer John이 길을 따라 산책을 나갔다가 지금 길을 잃었을지도 모른다고 생각한다.

길을 따라 NN개의 농장이 일렬로 늘어서 있다 (1≤N≤1001 \leq N \leq 100). 농장에는 집 번호가 없어서 Farmer John은 길에서 자신의 위치를 파악하기 어렵다. 하지만 각 농장에는 길가에 색색의 우체통이 하나씩 있으므로, Farmer John은 자신에게 가장 가까운 우체통의 색을 보면 자신이 어디에 있는지 유일하게 알아낼 수 있기를 바란다.

각 우체통의 색은 A..Z 범위의 문자 하나로 주어지므로, 길을 따라 늘어선 NN개의 우체통은 A..Z 범위의 문자로 이루어진 길이 NN의 문자열로 나타낼 수 있다. 어떤 우체통은 다른 우체통과 색이 같을 수 있다. Farmer John은 연속한 KK개의 우체통을 보면 그 연속한 색 배열이 길에서 어디에 있는지 유일하게 알아낼 수 있는, 가장 작은 KK의 값을 알고 싶어 한다.

예를 들어 길을 따라 늘어선 우체통이 'ABCDABC'라고 하자. Farmer John은 K=3K=3으로 정할 수 없다. 'ABC'를 보았을 때 이 연속한 색 배열이 길에서 있을 수 있는 위치가 두 곳이기 때문이다. 이 문제를 해결하는 가장 작은 KK는 K=4K=4이다. 연속한 4개의 우체통을 보면 그 색 배열이 길에서 자신의 위치를 유일하게 결정하기 때문이다.

입력

첫째 줄에 NN이 주어지고, 둘째 줄에 A..Z 범위의 문자로 이루어진 길이 NN의 문자열이 주어진다.

출력

Farmer John의 문제를 해결하는 가장 작은 KK의 값을 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    7
    ABCDABC
    
    예상 출력
    4