title: "[프로그래머스] [1차] 뉴스 클러스터링 Python 파이썬 해설 (Level 2) - 이도훈"
cleanUrl: "programmers/17677"
description: "프로그래머스 Level 2 문제 [[1차] 뉴스 클러스터링]의 풀이를 정리합니다."

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

from collections import Counter

def solution(str1, str2):
    a, b = Counter(), Counter()
    
    for i in range(len(str1) - 1):
        dimer = str1[i:i+2].lower()
        if all(c.isalpha() for c in dimer):
            a[dimer] += 1
            
    for i in range(len(str2) - 1):
        dimer = str2[i:i+2].lower()
        if all(c.isalpha() for c in dimer):
            b[dimer] += 1
	
    if sum((a|b).values()) == 0:
        return 65536
    
    return int(sum((a&b).values()) / sum((a|b).values()) * 65536)

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges