작년에 이어 새로운 문자열 게임이 있다. 게임의 진행 방식은 아래와 같다.
위와 같은 방식으로 게임을 T회 진행한다.
문자열 게임의 수 T가 주어진다. (1 ≤ T ≤ 100)
다음 줄부터 2개의 줄 동안 문자열 W와 정수 K가 주어진다. (1 ≤ K ≤ |W| ≤ 10,000)
T개의 줄 동안 문자열 게임의 3번과 4번에서 구한 연속 문자열의 길이를 공백을 사이에 두고 출력한다.
만약 만족하는 연속 문자열이 없을 시 -1을 출력한다.
from collections import defaultdict
T=int(input())
for _ in range(T):
check = [0] * 27
word = input()
k=int(input())
word_dic = defaultdict(list)
for i in range(len(word)):
if word.count(word[i]) >= k:
word_dic[word[i]].append(i)
min_len=21e8
max_len=-1
if word_dic:
for check_word in word_dic.values():
for i in range(len(check_word)-k+1):
check_len=check_word[i+k-1]-check_word[i]+1
min_len=min(min_len, check_len)
max_len=max(max_len, check_len)
print(min_len,max_len)
else:
print(-1)