코테/프로그래머스
프로그래머스 level2 [뉴스 클러스터링] 파이썬
동 캄
2021. 12. 18. 20:55
반응형
https://programmers.co.kr/learn/courses/30/lessons/17677
코딩테스트 연습 - [1차] 뉴스 클러스터링
뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브
programmers.co.kr
#프로그래머스 [1차] 뉴스 클러스터링
def makepair(s):
lst=[]
for i in range(len(s)-1):
if s[i].isalpha() and s[i+1].isalpha():
lst.append(s[i]+s[i+1])
return lst
def solution(str1, str2):
answer = 0
str1=makepair(str1.upper())
str2=makepair(str2.upper())
str1.sort()
str2.sort()
intersect=[]
i=0
j=0
while str1 and str2 and i<len(str1) and j<len(str2):
if str1[i]==str2[j]:
intersect.append(str1[i])
i+=1
j+=1
elif str1[i]>str2[j]:
j+=1
else:
i+=1
Union=str1+str2
for i in range(len(intersect)):
Union.pop(Union.index(intersect[i]))
if len(Union)!=0:
jac=len(intersect)/len(Union)
answer=int(jac*65536)
return answer
else:
if str1==str2:
return 65536
먼저, 각 문자열을 대문자로 변환하고, 두글자씩 알파벳으로 묶는다. (알파벳이 아니면 포함x)
그 후, intersect와 union을 구한다.
반응형