문제 설명
- 두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 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 |
나의 풀이
function solution(s1, s2) {
let cnt = 0;
for(let i = 0; i < s1.length; i++) {
for(let j = 0; j < s2.length; j++) {
if(s1[i] == s2[j]) {
cnt++;
}
}
}
return cnt;
}
- 이중 for문을 사용하여 s1의 모든 원소를 s2와 비교하여 카운트한다.
다른 사람 풀이
function solution(s1, s2) {
const intersection = s1.filter((x) => s2.includes(x));
return intersection.length;
}
- filter 함수를 통해 s1의 모든 배열을 순회하며 includes 함수로 s2에 포함되어 있는지 확인한다.
- 해당 검증을 통해 intersection의 길이를 리턴한다.
728x90
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers/JavaScript] 짝수 홀수 개수 (0) | 2024.07.15 |
---|---|
[Programmers/JavaScript] n의 배수 고르기 (0) | 2024.07.09 |
[Programmers/JavaScript] 가장 큰 수 찾기 (0) | 2024.07.09 |
[Programmers/JavaScript] 모음 제거 (0) | 2024.07.09 |
[Programmers/JavaScript] 순서쌍의 개수 (1) | 2024.07.09 |