-
TIL-2024.03.30 - 코테연습 - kakao -뉴스 클러스터링(2).programmers> 기초/코테 연습 2024. 3. 31. 10:55
URL:
https://school.programmers.co.kr/learn/courses/30/lessons/17677
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
// URL > https://school.programmers.co.kr/learn/courses/30/lessons/17677 const solution = (str1, str2) => { let result = 0; let min = 0; let max = 0; const newsClustering = (str) => { let temp = []; let strSplit = str.split(""); for (let i = 0; i < strSplit.length - 1; i++) { let str = strSplit[i] + strSplit[i + 1]; if (/^[A-Z]+$/.test(str)) { temp.push(str); } } return temp; }; str1 = newsClustering(str1.toUpperCase()); str2 = newsClustering(str2.toUpperCase()); let set = new Set([ ...str1, ...str2 ]); console.log("set::: ", set); set.forEach(item => { const temp1 = str1.filter(i => i === item); const temp2 = str2.filter(i => i === item); min += Math.min(temp1.length, temp2.length); max += Math.max(temp1.length, temp2.length); }); // 공집합인 경우 if (min === 0 && max === 0) { return 65536; } result = Math.floor(min / max * 65536); return result; }; console.log("result:: ", solution("FRANCE", "french")); //16384 console.log("result:: ", solution("handshake", "shake hands")); //65536 console.log("result:: ", solution("aa1+aa2", "AAAA12")); //43690 console.log("result:: ", solution("E=M*C^2", "E=M*C^2")); //65536
'> 기초 > 코테 연습' 카테고리의 다른 글
TIL-2024.04.02 - 코테연습 - 바탕화면 정리(1).programmers (0) 2024.04.03 TIL-2024.03.31 - 코테연습 - kakao -압축(2).programmers (0) 2024.03.31 TIL-2024.03.29 - 코테연습 - 둘만의암호(1) .programmers (0) 2024.03.29 TIL-2024.03.23 - 코테연습 - Kakao- 크레인 인형뽑기 게임(1).programmers (0) 2024.03.23 TIL-2024.03.21 - 코테연습 - 옹알이(1) & 명예의전달(1).programmers (0) 2024.03.21