[프로그래머스-자바스크립트] 배열의 유사도

호박이와 칼림바·2023년 9월 10일
post-thumbnail

코딩테스트 입문 - 배열의 유사도 문제


📢 문제 설명

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


⚠️ 제한사항

  • 1 ≤ s1, s2의 길이 ≤ 100
  • 1 ≤ s1, s2의 원소의 길이 ≤ 10
  • s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다
  • s1과 s2는 각각 중복된 원소를 갖지 않습니다.

🔶 입출력 예

s1s2result
["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;
}

반복문에 익숙해져 있는 나의 코드를 보면,
최대한 코드 한 줄이라도 줄이려는 노력이 담겨 있다.
근데 이것도 배열 메서드를 사용하는 문제였다니😂

💡 다른 사람의 풀이(filter 함수)

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

filter() 함수를 사용하는 것이었따아아아!
filter로 includes() 함수까지 이런 식으로도 가능하구나.

profile
프론트엔드 개발자입니다.

0개의 댓글