본문 바로가기

알고리즘 문제 풀이

프로그래머스[LEVEL2] - 뉴스 클러스터링(2018 카카오 블라인드 코딩테스트)

https://school.programmers.co.kr/learn/courses/30/lessons/17677

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

문제 설명

 

구현 문제인데 주의 할 점은  입력 파라미터인 str1과 str2를 모두 대분자로 변환하고 filterSplitStr을 통해 대문자 영어를ㄹ 죄외한 부분은 제외하고 2글자씩 분리하여야 한다

 

그리고 중복을 허용하는 intersection과 union을 구해야되기 때문에 고려해서 구현한다. 입력 예제3에서 첫번째 배열은 ['AA, 'AA']이고 두번째 배열은 ['AA, 'AA', 'AA'] 이다 이렇게 중복된 값이 있을 경우 교집합은 min(2, 3)이고 합집합은 Max(2, 3)이다 

 

즉 !intersection = ['AA', 'AA'], union = ['AA', 'AA', 'AA'] 이다 

그리고 2 / 3 을 하면 0.66666이 나오고 여기다 65536을 곱하면 43690이 나온다.

 

마지막으로 union이 0인 경우와 intersection이 0인 경우에는 return값이 다르기 때문에 이 점도 고려해야 된다.

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

프로그래머스[LEVEL1] - 폰켓몬  (0) 2022.11.01
백준 2108 - 통계학  (0) 2022.10.31
프로그래머스[LEVEL2] - 구명보트  (0) 2022.10.09
백준 1874 - 스택 수열  (0) 2022.10.01
백준 1931 - 회의실 배정  (0) 2022.09.28