practivceAlgorithm/programmers

[Programmers][Python] KAKAO 2018 뉴스클러스터링

findTheValue 2021. 10. 31. 01:46

처음푼줄 알았는데 예전에 풀었었다.. 교집합, 합집합으로 간단히 풀린다.

 

def make_set(s):
    a = set()
    for i in range(len(s) - 1):
        now = s[i:i+2]
        if now.isalpha():
            while now in a:
                now += '1'
            a.add(now)
    return a

def solution(str1, str2):
    str1, str2 = str1.lower(), str2.lower()
    a = make_set(str1)
    b = make_set(str2)
    if not a | b:
        return 65536
    return len(a & b) * 65536 // len(a | b)