[programmers] 배열의 유사도 - JavaScript
문자열 배열 s1과 s2의 같은 원소의 개수를 확인하는 문제입니다. 주어진 배열을 순차적으로 비교하여 같은 원소가 있을 경우 개수를 반환하는 문제로, filter() 함수와 includes() 함수를 사용하여 해결할 수 있습니다.
Dec 31, 2023
문제 설명
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열
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합니다.
solution.js
// function solution(s1, s2) { // return s1.filter((e)=>s2.includes(e)).length // } // filter, include 함수 function solution(s1, s2) { var answer = 0; for (var i = 0; i < s1.length; i++){ for (var j = 0; j < s2.length; j++){ if(s1[i] === s2[j]) answer++; } } return answer; }
핵심 키워드
- 단순하게 접근하면 for 문 2개를 통해 두 배열을 순차적으로 접근해서 비교한다.
- filter() 함수를 이용해서 주어진 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링 할 수 있다.
- includes() 함수는 배열의 항목에 특정 값이 포함되어 있는지를 판단하여 true 또는 false를 반환한다.
결론!
해당 문제를 풀면서 filter() 함수의 사용법과 includes 함수의 사용법을 익힐 수 있었다.
Share article