https://programmers.co.kr/learn/courses/30/lessons/17677
def solution(str1, str2):
dict1 = get_dict(str1)
dict2 = get_dict(str2)
child = intersection(dict1, dict2)
parent = union(dict1, dict2)
if parent == 0:
return 65536
return int(child / parent * 65536)
def get_dict(string):
dictt = dict()
for i in range(len(string)-1):
curr = string[i:i+2]
if not curr.isalpha():
continue
curr = curr.upper()
if curr not in dictt:
dictt[curr] = 0
dictt[curr] += 1
return dictt
def intersection(dict1, dict2):
count = 0
for key in dict1:
if key in dict2:
count += min(dict1[key], dict2[key])
return count
def union(dict1, dict2):
count = 0
# 교집합
for key in dict1:
if key in dict2:
count += max(dict1[key], dict2[key])
# 나머지
for key in dict1:
if key not in dict2:
count += dict1[key]
for key in dict2:
if key not in dict1:
count += dict2[key]
return count