μ λ΅ μ½λ λ° ν΄μ€
def solution(str1, str2):
str11 = {}
str22 = {}
for i in range(len(str1)-1):
if str1[i:i+2].isalpha():
word = str1[i:i+2].lower()
if str11.get(word):
str11[word] += 1
else:
str11[word] = 1
for i in range(len(str2)-1):
if str2[i:i+2].isalpha():
word = str2[i:i+2].lower()
if str22.get(word):
str22[word] += 1
else:
str22[word] = 1
str11_keys = set(str11.keys())
str22_keys = set(str22.keys())
min_keys = str11_keys & str22_keys
max_keys = str11_keys | str22_keys
min_value = 0
for key in min_keys:
min_value += min(str11[key], str22[key])
max_value = 0
for key in max_keys:
max_value += max((str11.get(key) or 0), (str22.get(key) or 0))
return 65536 if max_value == 0 else int(min_value/max_value*65536)