📖 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
Counter객체끼리 덧셈, 뺄셈, 집합 연산 등 연산이 가능!!!!!!!!