새소식

알고리즘/문제

[프로그래머스] 뉴스 클러스터링

  • -

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/17677

 

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

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

programmers.co.kr



일단 문제를 읽어보면 각 문자열을 연달아 2개의 문자씩 나눠서 집합을 구성한 다음 

"ABCDE"의 경우 -> {"AB", "BC", "CD", "DE"} 

두 문자열의 다중집합끼리의 자카드 유사도를 구하면 된다

자카드 유사도는 문제에서 알려준 것처럼 '교집합/합집합' 의 값이다

 

크게 보면 위의 예시처럼 집합을 만들면서 답을 구하는 과정에서 체크해야 할 사항

  • 2글자 중 한글자라도 알파벳이 아닌 경우 집합에 포함시키지 않는다  >  정규식으로 처리
  • 입력으로 받은 문자열을 바로 알파벳이 아닌 문자를 삭제하면 안된다 ( aa1+aa2,  AAAA12 경우를 손으로 해보면 앎 )
  • 대소문자는 구별하지 않는다  >  바로 대문자처리
  • 교집합을 구하면서 교집합 처리된 원소  >  삭제or 사용플래그 처리
{"AA", "AA", "AA"} 와 {"AA", "AA", "AA", "AA", "AA"} 인 경우 문제 설명처럼
교집합은 3 합집합이 5가 나와야 함. 
  • 그리고 합집합이 0인 경우  >  0으로 나누기가 불가능하고 교집합도 0이란 의미이므로 합집합의 값을 1로 설정

이후 출력방식에 맞게 조절했다

 

'알고리즘 > 문제' 카테고리의 다른 글

[BOJ/백준 - 10757] 큰 수 A + B  (0) 2022.06.21
[BOJ/백준 - 10250] ACM 호텔  (0) 2022.06.21
[프로그래머스] 신고 결과 받기  (0) 2022.06.17
[BOJ/백준 - 1105] 팔  (0) 2022.02.16
[BOJ/백준 - 2798] 블랙잭  (0) 2022.02.16
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.