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

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

문자열 게임 2

면접 대비

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

요약
각 테스트에서 어떤 문자가 정확히 K번 들어 있는 가장 짧은 부분 문자열과, 그 문자로 시작하고 끝나면서 그 문자가 정확히 K번 들어 있는 가장 긴 부분 문자열의 길이를 구한다.
난이도

보통10점 중 6점

유형
문자열, 슬라이딩 윈도우, 투 포인터, 구현
정답자
아직 제출이 없습니다

문제

작년에 이어 새로운 문자열 게임이 있다. 게임의 진행 방식은 아래와 같다.

  1. 알파벳 소문자로 이루어진 문자열 W가 주어진다.
  2. 양의 정수 K가 주어진다.
  3. 어떤 문자를 정확히 K개 포함하는 가장 짧은 연속 문자열의 길이를 구한다.
  4. 어떤 문자를 정확히 K개 포함하고, 문자열의 첫 번째와 마지막 글자가 해당 문자로 같은 가장 긴 연속 문자열의 길이를 구한다.

위와 같은 방식으로 게임을 T회 진행한다.

입력

문자열 게임의 수 T가 주어진다. (1 ≤ T ≤ 100)

다음 줄부터 2개의 줄 동안 문자열 W와 정수 K가 주어진다. (1 ≤ K ≤ |W| ≤ 10,000)

출력

T개의 줄 동안 문자열 게임의 3번과 4번에서 구한 연속 문자열의 길이를 공백을 사이에 두고 출력한다.

만약 만족하는 연속 문자열이 없을 시 -1을 출력한다.

예제2

  1. 예제 1

    입력
    2
    superaquatornado
    2
    abcdefghijklmnopqrstuvwxyz
    5
    
    예상 출력
    4 8
    -1
    
  2. 예제 2

    입력
    1
    abaaaba
    3
    
    예상 출력
    3 4