
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.
| 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 answer = 0;
for(i of s1) for(j of s2) if(j === i) answer++;
return answer;
}
반복문에 익숙해져 있는 나의 코드를 보면,
최대한 코드 한 줄이라도 줄이려는 노력이 담겨 있다.
근데 이것도 배열 메서드를 사용하는 문제였다니😂
function solution(s1, s2) {
return s1.filter((v) => s2.includes(v)).length;
}
filter() 함수를 사용하는 것이었따아아아!
filter로 includes() 함수까지 이런 식으로도 가능하구나.