
두 배열이 얼마나 유사한지 확인해보려고 합니다.
문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.
1 ≤ s1, s2의 길이 ≤ 100
1 ≤ s1, s2의 원소의 길이 ≤ 10
s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다
s1과 s2는 각각 중복된 원소를 갖지 않습니다.
| s1 | s2 | result |
|---|---|---|
| ["a", "b", "c"] | ["com", "b", "d", "p", "c"] | 2 |
| ["n", "omg"] | ["m", "dot"] | 0 |
:: Code ::
function solution(s1, s2) {
let count = 0;
for (let a of s1){
for (let b of s2){
if(a === b){count += 1;}
}
}
return count;
}
✔️ 2중 for 문을 사용하여 배열의 원소를 비교.
:: 🧷 Code 🧷 ::
function solution(s1, s2) {
const intersection = s1.filter((x) => s2.includes(x));
return intersection.length;
}
✔️ Array.prototype.filter( ) : 설정한 조건에 부합하는 원소로 이루어진 새로운 배열을 반환.
🏷 매개변수
element : 배열에서 처리 중인 현재 요소.
index : 배열에서 처리 중인 현재 요소의 인덱스.
array : filter( )가 호출된 배열.
📌 Caution.
Array.prototype.map( ) 과 달리, 반환하는 배열의 길이가 원본 배열의 길이와 다를 가능성을 가진다.