본문 바로가기
Algorithm/programmers

[programmers/js] 배열의 유사도

by dani0312 2025. 1. 25.

◾레벨

코딩테스트 연습 > 코딩테스트 입문 > 배열의 유사도 

 

◾문제

 

https://school.programmers.co.kr/learn/courses/30/lessons/120903?language=javascript

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

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

 

 

◾풀

처음에는 이중 for문으로 각 배열의 항목을 한 개씩 비교해서(동일한지) answer에 합을 구할까? 도 생각하였지만,

 

배열에 있는 메서드를 사용해서 더 간편히 구할 수는 없을까?? 분명 Array 배열에 여러가지 메서드가 있을텐데 이 중 활용할 수 있는 것이 있을것이다! 라고 생각하다가 includes()메서드가 생각이 났다. 

 

💡Array의 includes() 함수 
배열의 값이 존재하는지 true또는 false로 boolean값을 반환해준다. 
ex) const fruits= ['apple', 'banana', 'mango'];
console.log(fruits.includes('banana')); // true

 

이중 for문을 쓰지는 않았지만, 다른 사람의 풀이를 보니 filter() 메서드를 활용하면 코드를 더 간결하게 작성할 수 있는 듯 했다. 다음에는 filter도 활용한 풀이를 작성해보아야겠다. 

function solution(s1, s2) {
    var answer = 0;
    
        for(const value2 of s2){
            if(s1.includes(value2)){
                answer++;
            }
        }

    return answer;
}

/* 내가 추가한 코드 */ /* 내가 추가한 코드 끝끝 */