코테 문제 풀이
[레벨 0] 배열의 유사도 (이중 for문, 메서드)
2DC
2022. 12. 9. 20:37
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/120903?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
답안1 (이중 for문)
function solution(s1, s2) {
var answer = 0;
for (let i = 0; i < s1.length; i++) {
for (let j = 0; j < s2.length; j++) {
if (s1[i] === s2[j]) answer += 1
}
}
return answer;
}
- 무식하게 완전탐색을 때려박는 for문이다.
- 배열을 하나하나 비교하고 조건에 맞는 배열끼리 비교될 경우 +1을 해준다.
답안2 (메서드 체이닝)
function solution(s1, s2) {
return s1.filter((e) => s2.includes(e)).length
}
- filter는 콜백함수를 truty하게 만드는 엘리먼트들을 따로 배열로 만드는 메서드이다.
- includes는 어떤 엘리먼트가 배열 내 존재하는지를 true, false로 반환하는 메서드이다.
- 이 메서드를 통해 filter의 조건문을 충족시켜주고, 최종적으로 만들어진 배열의 length를 return하면 해결된다.