function solution(str1, str2) {
//자카드유사도: 두집합의 교집합 크기를 합집합크기로 나눈 값
//모두 공집합인 경우에는 1.
//65536을 곱해서 floor.
let newStr1={};
let newStr2={};
let alphabet = 'abcdefghijklmnopqrstuvwxyz'
let answer = 0;
let union=[];
let intersection=[];
alphabet = alphabet.split('')
if(str1.length===0&&str2.length===0) return 1
str1=str1.toLowerCase();
str2=str2.toLowerCase();
for(let i=0;i<str1.length-1;i++){
if(alphabet.includes(str1[i])&&alphabet.includes(str1[i+1])){
if(!newStr1[str1[i]+str1[i+1]]){newStr1[str1[i]+str1[i+1]]=1}
else newStr1[str1[i]+str1[i+1]]++;
}
}
for(let i=0;i<str2.length-1;i++){
if(alphabet.includes(str2[i])&&alphabet.includes(str2[i+1])){
if(!newStr2[str2[i]+str2[i+1]]){newStr2[str2[i]+str2[i+1]]=1}
else newStr2[str2[i]+str2[i+1]]++;
}
}
for(let key in newStr1){
if(newStr2[key]>0){
while(newStr1[key]>0&&newStr2[key]>0){
intersection.push(key);
union.push(key);
newStr2[key]--;
newStr1[key]--;
}}
}
for(let key in newStr1){
while(newStr1[key]>0){
union.push(key);
newStr1[key]--;
}
}
for(let key in newStr2){
while(newStr2[key]>0){
union.push(key);
newStr2[key]--;
}
}
if(union.length===0) return 65536
answer = Math.floor((intersection.length/union.length)*65536)
return answer;
}