배열의 유사도
문제 설명
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 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 |
입출력 예 설명
입출력 예 #1
- “b”와 “c”가 같으므로 2를 return합니다.
입출력 예 #2
- 같은 원소가 없으므로 0을 return합니다.
문제풀이 (나)
function solution(s1, s2) {
let result = 0;
s1.forEach(d1 => {
s2.forEach(d2 => {
result = d1 == d2 === true ? ++result : result;
});
});
return result;
}
for 문을 돌려서 각각의 배열 값이 일치하는지 확인하는 구문이다.
문제풀이 (다른사람)
function solution(s1, s2) {
const intersection = s1.filter((x) => s2.includes(x));
return intersection.length;
}
내가 한 방식과 결과물은 동일하지만, array 에서 제공하는 메서드를 사용해 풀이된 문제다.
조건은 includes 를 사용해 배열에 s1의 각각의 배열값이 s2 에 포함되었는지 확인한다.
filter 로 조건에 맞는 결과물을 리턴한다.
마지막으로 조건과 일치하는 배열의 개수를 리턴한다.