728x90
# 문제
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.
# 답안
// 1. 입력: s1와 s2 -> 배열 [1,2,3] 같은거
// 2. 출력: s1, s2 비교했을 때 같은 원소의 개수
// 방법1) for 반복문 사용
function solution(s1, s2) {
let count = 0;
for (i=0; i<s1.length; i++)
if(s2.includes(s1[i])){ // s2배열이 s1의 원소를 포함하고 있을 때마다 count 1씩 증가시키기
count++
}
return count;
}
// 방법2) filter 사용
function solution(s1, s2) {
const answer = s1.filter((x) => s2.includes(x)); // s1의원소(x)를 하나씩 필터할건데, s2가 해당 원소를 가지는 것만 빼서 배열로 만든다.
return answer.length;
}
# 인사이트
// 방법1은 for문을 사용하는 방법인데, 따로 length를 안구하고, 원소가 추가될 때마다 count를 하나씩 증가시켜서 count 자체를 return 한다.
// 방법2는 filter를 사용하는 방법인데, 필터해서 배열로 만들고 length를 구하는 방법이다. 방법1 보다 코드가 훨씬 간결하다.
728x90
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스/JavaScript] 코딩 테스트풀이 (문제 35 - 세균 증식) (2) | 2024.02.07 |
---|---|
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 34 - 문자열 안에 문자열) (0) | 2024.02.04 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 32 - 옷가게 할인 받기) (0) | 2024.02.03 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 31 - 짝수는 싫어요) (0) | 2024.02.02 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 30 - 아이스 아메리카노) (0) | 2024.02.02 |