Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 백준 #백준2217 #백준로프 #python
- 카카오 코테
- 프로그래머스 #c++ #코딩테스트
- 백준 #이거다시풀기
- 프로그래머스 #NULL 처리하기
- 프로그래머스 #네트워크 #c++ #코딩테스트 #코테 #코테준비 #dfs
- 동
- 프로그래머스 #sql #mysql #코딩테스트
- 백준 #백준알고리즘 #알고리즘 #코딩테스트 #코딩테스트준비 #코테준비 #백준2110 #python #문제풀이
- 카카오 #프로그래머스 #python #코딩테스트 #오픈채팅방
- 그리디알고리즘 #그리디 #백준 #우선순위큐 #최소힙 #최대힙 #알고리즘 #코딩테스트 #python
- 프로그래머스 #python #코딩테스트 #코테공부 #알고리즘 #dict
- 프로그래머스 #python #2021카카오 #카카오코테 #카카오인턴쉽
Archives
- Today
- Total
say repository
[프로그래머스] 1차 뉴스 클러스터링 python 본문
728x90
https://programmers.co.kr/learn/courses/30/lessons/17677
코딩테스트 연습 - [1차] 뉴스 클러스터링
뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브
programmers.co.kr
출처 : 프로그래머스
from collections import Counter
import math
def solution(str1, str2):
answer = 0
# 모두 대문자로 통일
str1 = str1.upper()
str2 = str2.upper()
print(str1,str2)
# 문자열로만 구성된 2글자 배열에 삽입
tmp1 = []
tmp2 = []
for s1 in range(len(str1)-1):
if str1[s1].isalpha() and str1[s1+1].isalpha():
tmp1.append(str1[s1]+str1[s1+1])
for s2 in range(len(str2)-1):
if str2[s2].isalpha() and str2[s2+1].isalpha():
tmp2.append(str2[s2]+str2[s2+1])
# Counter 객체
counter1 = Counter(tmp1)
counter2 = Counter(tmp2)
# 교집합과 합집합
interset_set = list((counter1 & counter2).elements())
union_set = list((counter1 | counter2).elements())
if len(union_set) == 0:
return 65536
return math.floor((len(interset_set) /len(union_set))*65536)
풀이
대소문자 구분을 하지 않으니 모두 대문자로 통일시켜서 시작했다.
또한, 2개씩 문자열을 나눠서 배열에 넣을 때, 쪼갠 2개가 문자열이 맞는지 isalpha()로 확인해서 배열에 넣었다.
그리고 Counter() 를 사용해 객체를 만들어냈다.
Counter()는 set()처럼 교집합 & , 합집합 | 을 만들수 있다.
Counter().elements() 를 사용하면 요소(값) 만 뽑을 수 있다.
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 여행경로 python (*) (0) | 2022.04.28 |
---|---|
[프로그래머스] 구명보트 python (*) (0) | 2022.04.25 |
[프로그래머스] 주식가격 python (0) | 2022.04.23 |
[프로그래머스] 큰 수 만들기 python (*) (0) | 2022.04.21 |
[프로그래머스] N개의 최소공배수 python (0) | 2022.04.21 |