https://school.programmers.co.kr/learn/courses/30/lessons/17677
function solution(str1, str2) {
// 숫자, 공백 제거
// 특수문자, 괄호, 공백 모두 제거 - 점은 제거 안함
const reg1 = /[0-9 ]/gim,
reg2 = /[`.,~!@#$%^&*()_|+\-=?;:'"<>\{\}\[\]\\\/ ]/gim;
const str = [str1, str2];
for (const i in str) {
str[i] = [...str[i]].reduce((acc, el, idx, arr) => {
if (idx >= arr.length - 1
|| (el + arr[idx + 1]).replace(reg1, "").replace(reg2, "").length !== 2)
return acc;
acc.push((el + arr[idx + 1]).toUpperCase());
return acc;
}, []);
}
const temp = [...str[1]];
const intersection = str[0].filter(it => {
if (temp.includes(it)) {
temp.splice(temp.indexOf(it), 1);
return true;
}
return false;
}).length;
return (intersection || str[0].length || str[1].length)
? Math.floor((intersection / (str[0].length + str[1].length - intersection)) * 65536) : 65536;
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] (2018 KAKAO BLIND RECRUITMENT) Lv 2. [3차] 압축 (0) | 2023.02.17 |
---|---|
[Programmers] (2022 KAKAO BLIND RECRUITMENT) Lv 2. k진수에서 소수 개수 구하기 (0) | 2023.02.16 |
[Programmers] (깊이/너비 우선 탐색[DFS/BFS]) Lv 2. 타겟 넘버 (0) | 2023.02.15 |
[Programmers] (스택/큐) Lv 2. 프린터 (0) | 2023.02.14 |
[Programmers] (스택/큐) Lv 2. 기능개발 (0) | 2023.02.13 |
댓글