문제(출처: 프로그래머스)

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

 

▶ 내가 푼 방식

function solution(s1, s2) {
    var answer = s1.filter(i => s2.includes(i))
    return answer.length;
}

 

 다른 유저가 푼 방식

// 유저 1 : for 문을 사용
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;
}
// 유저 2 : set 을 이용한 접근
function solution(s1, s2) {
  const concat = [...s1, ...s2];
  const setConcat = Array.from(new Set(concat));

  return concat.length - setConcat.length;
}

 

 배운 것들

     -  array.includes() 를 깜빡했었다. 

+ Recent posts