[programmers] 배열의 유사도 - JavaScript

문자열 배열 s1과 s2의 같은 원소의 개수를 확인하는 문제입니다. 주어진 배열을 순차적으로 비교하여 같은 원소가 있을 경우 개수를 반환하는 문제로, filter() 함수와 includes() 함수를 사용하여 해결할 수 있습니다.
Dec 31, 2023
[programmers] 배열의 유사도 - JavaScript

문제 설명

두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ s1s2의 길이 ≤ 100
  • 1 ≤ s1s2의 원소의 길이 ≤ 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

👨🏻‍💻DriedPollack's Blog