250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 JS KAKAO)뉴스 클러스터링 본문
728x90
반응형
programmers.co.kr/learn/courses/30/lessons/17677?language=javascript
function getString(str){
const result = [];
for(let i = 0; i < str.length; i++){
result.push(str.substr(i, 2));
}
return result;
}
function isAlphabet(str){
if(str[0] >= 'A' && str[0] <= 'Z' && str[1] >= 'A' && str[1] <= 'Z'){
return true;
}
else{
return false;
}
}
function solution(str1, str2) {
let answer = 0;
const com1 = [];
const com2 = [];
let union = 0;
let intersection = 0;
getString(str1.toUpperCase()).forEach((e) => {
if(isAlphabet(e)){
com1.push(e);
}
});
getString(str2.toUpperCase()).forEach((e) => {
if(isAlphabet(e)){
com2.push(e);
}
});
union = com1.length + com2.length;
if(com1.length >= com2.length){
for(let i = 0; i < com2.length; i++){
const index = com1.indexOf(com2[i]);
if(index > -1){
intersection++;
com1.splice(index, 1);
}
}
}
else{
for(let i = 0; i < com1.length; i++){
const index = com2.indexOf(com1[i]);
if(index > -1){
intersection++;
com2.splice(index, 1);
}
}
}
union -= intersection;
return union === 0 ? 65536 : Math.floor((intersection / union) * 65536);
}
728x90
반응형
'프로그래머스 알고리즘 > KAKAO' 카테고리의 다른 글
(프로그래머스 JS KAKAO)괄호 변환하기 (0) | 2021.05.13 |
---|---|
(프로그래머스 JS KAKAO)튜플 (0) | 2021.05.13 |
(프로그래머스 JS KAKAO)문자열 압축 (0) | 2021.05.11 |
(프로그래머스 JS KAKAO)오픈 채팅방 (0) | 2021.05.10 |
(프로그래머스 c++ KAKAO)경주로 건설 (0) | 2021.03.18 |