EZ 이런 컨셉을 쉽게 느끼나? 걍 이 문제가 쉬운 듯 str1에서 set는 중복 연산 하기 싫어서 썼고 str2 처리할 때는 dict이 빠르대서 그렇게 풀어 봄
KMP 관련으로도 엮을 수 있을 것 같은데 KMP pi 테이블 나올 때도 앞과 뒤 비교해서 몇 번 나오고 반복되는지 저장했던 것 같은데
T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
str1 = set(input())
str2 = input()
t_dict = {} # {철자:나온 횟수}
answer = 0
for index in range (len(str2)):
if str2[index] not in t_dict:
t_dict[str2[index]] = 1
else:
t_dict[str2[index]] += 1
for letter in str1:
if answer < t_dict[letter]:
answer = t_dict[letter]
else:
pass
print (f'#{test_case} {answer}')
-
**
dict.get(): **if-else로 존재 여부를 확인할 필요 없이 한 줄로 끝낼 수 있다.# 기존 4줄을 1줄로 t_dict[char] = t_dict.get(char, 0) + 1 -
max():for letter in str1루프도 한 줄로 줄일 수 있다.answer = max(t_dict.get(letter, 0) for letter in str1)