프로그래머스 JS LV0

LV0 33 배열의 유사도

와라리요 2022. 10. 17. 14:19

문제

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

 

입출력 예

s1 s2 result
["a", "b", "c"] ["com", "b", "d", "p", "c"] 2
["n", "omg"] ["m", "dot"] 0

 

나만의 풀이

  이번 문제는 생각을 많이 한 것 같다. 왠지 두 배열을 비교해서 동일한 요소가 몇 개 있는지 검색을 하면 다양한 내장 함소로 할 수 있을 것 같았으나 지금 Tstory의 글들을 보지 못해 for문, if문, ?문 만 이용해서 풀어보았다.

   우선 for문 안에 for문 넣고 또 안에 if문을 넣기에는 너무 무거워 보여서 s1과 s2의 배열 안에 원소의 계수를 비교하고 더 많은 원소를 들고 있는 만큼 for문은 돌려 if문으로 indexOf를 이용해 동일한 원소의 값이 있으면 변수에 1을 더해 리턴하는 식으로 풀었다.

function solution(s1, s2) {
    let answer = 0;
    const arrLength = s1.length >= s2.length ? s1.length : s2.length;
    for (let i = 0 ; i < arrLength; i++) {
        if (s2.indexOf(s1[i]) !== -1) {
            answer += 1;
        }
    }
    return answer;
}

'프로그래머스 JS LV0' 카테고리의 다른 글

LV0 35 문자열 정렬하기 (1)  (0) 2022.10.17
LV0 34 중앙값 구하기  (0) 2022.10.17
LV0 32 아이스 아메리카노  (0) 2022.10.17
LV0 31 문자열 안에 문자열  (0) 2022.10.17
LV0 30 삼각형의 완성 조건 (1)  (2) 2022.10.15