ALGORITHM/Kakao

[Python] 뉴스 클러스터링

김쿸후 2022. 1. 7. 16:47

1. 문제

https://programmers.co.kr/learn/courses/30/lessons/17677?language=python3 

 

코딩테스트 연습 - [1차] 뉴스 클러스터링

뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브

programmers.co.kr

 

2. 풀이

- char 를 int 로 바꾸기 

ord(char)

- string을 소문자로

string.lower()

 

3. 코드

def solution(str1, str2):
    answer = 0
    str1 = str1.lower()
    str2 = str2.lower()
    str_list1 = []
    cnt_inter = 0
    cnt_union = 0
    
    for index in range(len(str1)):
        if index != len(str1) -1:
            if ('a'<=str1[index] and str1[index]<='z') and ('a'<=str1[index+1] and str1[index+1]<='z'):
                str_list1.append(ord(str1[index])*128 + ord(str1[index+1]))
                cnt_union = cnt_union + 1
        
    for index in range(len(str2)):
        if index != len(str2)-1:
            if ('a'<=str2[index] and str2[index]<='z') and ('a'<=str2[index+1] and str2[index+1]<='z'):
                target = ord(str2[index])*128 + ord(str2[index+1])
                if target in str_list1:
                    cnt_inter = cnt_inter +1
                    str_list1.remove(target)
                else:
                    cnt_union = cnt_union +1
                    
    answer = 65536
    if cnt_union != 0:
        answer = (cnt_inter / cnt_union ) *65536
    answer = int(answer)
    return answer

'ALGORITHM > Kakao' 카테고리의 다른 글

[Python] k진수에서 소수 개수 구하기  (0) 2022.03.08
[Python] 주차 요금 계산  (0) 2022.03.08
[Python] 다트 게임  (0) 2022.01.04
[Python] 2개 이하로 다른 비트  (0) 2021.10.09
[Python] 이진 변환 반복하기  (0) 2021.10.09