기본적인 구현 문제
문제를 이해하고 정확하게 작성하는데 오랜 시간이 걸리고, 실수가 잦음 ㅠㅠ
function solution(str1, str2) {
var answer = 0;
const regex = new RegExp(/^[a-z]+$/, 'i');
const makeEntity = (str1, str2) => {
str1 = str1.toUpperCase();
str2 = str2.toUpperCase();
let arr1 = [], arr2 = [];
for(let i = 0; i < str1.length-1 ; i++){
let test = str1.substring(i,i+2);
if(regex.test(test)){
arr1.push(test);
}
}
for(let i = 0; i < str2.length-1 ; i++){
let test = str2.substring(i,i+2);
if(regex.test(test)){
arr2.push(test);
}
}
// arr1 = [1,1,2,2,3]
// arr2 = [1,2,2,4,5]
if(str1 === str2){
return 65536
}
let obj = {};
let obj2 = {};
let obj3 = {};
let number = 0;
arr1.forEach((e)=>{
if(!obj[obj2[e]+'-'+e]){
obj2[e] = 1;
obj[obj2[e]+'-'+e] = 1;
}
else {
obj2[e]++;
obj[obj2[e]+'-'+e]=1;
}
});
//console.log(obj, obj2, obj3)
arr2.forEach((e)=>{
if(!obj[obj3[e]+'-'+e]){
obj3[e] = 1;
if(obj[obj3[e]+'-'+e]){
obj[obj3[e]+'-'+e]++;
}
else {
obj[obj3[e]+'-'+e] = 1;
}
}
else {
obj3[e]++;
if(obj[obj3[e]+'-'+e]){
obj[obj3[e]+'-'+e]++;
}
else {
obj[obj3[e]+'-'+e]=1;
}
}
});
//console.log(obj, obj2, obj3)
let arr11 = Object.entries(obj);
let len2 = arr11.filter(([key, value])=>{
return value >= 2;
}).length
return Math.floor((len2 / arr11.length) * 65536);
}
return makeEntity(str1, str2);
}