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

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

고유한 활동

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

요약
대문자 문자열이 주어질 때 정확히 한 번만 나타나는 가장 짧은 부분 문자열을 찾고, 길이가 같으면 가장 먼저 나타나는 것을 출력한다.
난이도

보통10점 중 7점

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

문제

Emily는 2020년 내내 집에서 공부하는 것에 지쳤다. 그녀는 같은 일이 반복해서 일어난다는 것을 알아차렸다. 요리를 하고 설거지를 해야 한다. 그러다 수업 시간이 되고, 수업이 끝나면 다시 설거지를 하고, 또 다른 수업에 가야 하고, 설거지를 조금 더 한 뒤 하루의 마지막으로 요리하고 설거지를 한다.

그래도 그녀가 하루 중 좋아하는 순간이 있다. 바로 지금 하고 있는 활동의 연속이 그날 하루에 딱 한 번만 나타날 때다. 그 활동 연속이 고유하면서 정말 짧을 때 그녀는 가장 기뻐한다.

각 활동은 알파벳 대문자 하나로 나타낸다. Emily가 오늘 해야 하는 활동 목록이 주어질 때, 입력에서 딱 한 번만 나타나는 가장 짧은 부분 문자열을 찾아 Emily가 하루 중 가장 좋은 순간을 찾도록 도와주자.

요리가 C, 설거지가 D, 공부가 S라면 위 예시의 활동 목록은 C D S D S D C D이고, 딱 한 번만 나타나는 가장 짧은 부분 문자열은 D C이다. (한 글자 부분 문자열과 나머지 두 글자 부분 문자열은 모두 적어도 두 번 나타난다.)

입력

입력은 한 줄이며, NN개의 알파벳 대문자('A'부터 'Z'까지)로 이루어진다. 줄은 개행 문자로 끝나지만, 이 문자는 입력 문자열의 일부로 취급하지 않는다.

출력

입력 문자열에서 딱 한 번만 나타나는 가장 짧은 부분 문자열을 한 줄에 출력한다. 길이가 같은 가장 짧은 부분 문자열이 여러 개라면 가장 먼저 나타나는 것을 출력한다.

제한

  • 0<N≤300 0000< N\leq 300\,000

예제1

  1. 예제 1

    입력
    AABAABB
    
    예상 출력
    BA