알고리즘 연습

[프로그래머스_2018 KAKAO BLIND RECRUITMENT] 1차_뉴스 클러스터링

코딩하는 너구리 2020. 2. 2. 18:24
반응형

문제

 

 

 

 

 

 

 

풀이

 

 

2개의 리스트를 활용하여 풀이했던 문제입니다.

 

1. 먼저 str1과 str2를 모두 toUpperCase()를 사용하여 대문자로 변환해줍니다.

 

2. list1과 list2를 만들어주고 조건에 맞는(대문자 2자) 문자열을 각각의 list에 담아줍니다.

 

3. sum (전체 문자열의 갯수)과 same (서로 일치하는 문자열) 을 구해줍니다.

  이 과정에서 같은 문자열이 복수적으로 체크될 수 있기 때문에

   찾아낸 동일한 문자열은 list에서 삭제해주었습니다.

 

4. 0 ~ 1 사이의 소수점으로 일치율이 구해지므로 double형으로 일치율을 구해준 뒤

 65536을 곱해주어 답을 구해주었습니다.

 

 

예외처리로 list의 사이즈가 0이 되는 경우 

 -> 문자열이 존재하지만 공집합이 되는 경우이므로 answer을 65536으로 처리.

 

 

문자열 list를 만들기까지가 까다롭지만 이후 비교는 어렵지 않게 할 수 있는 문제였습니다.

 

 

 

 

코드

 

 

 

 

 

출처

 

 

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

 

코딩테스트 연습 - [1차] 뉴스 클러스터링 | 프로그래머스

뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 카카오 신입 개발자 공채 관련 기사를 검색해보았다. 카카오 첫 공채..'블라인드' 방식 채용 카카오, 합병 후 첫

programmers.co.kr

 

반응형