📖 2018 KAKAO BLIND RECRUITMENT > [1차] 뉴스 클러스터링

📖What I thought

그냥 set 쓰는 기본적이고 쉬운 문제라 생각했는데 조건에서 다중 집합을 허용한다고 해서 복잡해짐.. ㅜㅜ 못 풀어서 인터넷 풀이 참고했당 set말고도 counter 객체도 집합 연산이 가능하다는 것을 기억하자!

📖풀이

📎구현(Counter)

from collections import Counter
 
def solution(str1, str2):
    answer = 0
    
    ja1 = [str1[i:i+2].lower() for i in range(len(str1)-1) if str1[i:i+2].isalpha()]
    ja2 = [str2[i:i+2].lower() for i in range(len(str2)-1) if str2[i:i+2].isalpha()]
    
    cnt_ja1, cnt_ja2 = Counter(ja1), Counter(ja2)
    uni = len(list((cnt_ja1 | cnt_ja2).elements()))
    inter = len(list((cnt_ja1 & cnt_ja2).elements()))
    
    if uni == 0 and inter == 0:
        answer = 65536
    else:
        answer = (inter/uni) * 65536
        
    return int(answer)

📖What I learned

  1. Counter 객체끼리 덧셈, 뺄셈, 집합 연산 등 연산이 가능!!!!!!!!

📖관련 지식

📎Counter

📎Set 집합 연산