문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/120903?language=javascript
답안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하면 해결된다.
'코테 문제 풀이' 카테고리의 다른 글
[레벨 0] 배열 회전시키기 (pop, push, shift, unshift) (1) | 2022.12.17 |
---|---|
[레벨 0] 가위 바위 보 (if 노가다, 객체 활용) (0) | 2022.12.17 |
[레벨 0] 특정 문자 제거하기 (for문, replaceAll, 정규표현식) (0) | 2022.12.08 |
[레벨 0] 문자열 뒤집기 (0) | 2022.12.07 |
[레벨 0] 짝수 홀수 개수 (모범답안 + 재귀함수 괴답안 with slice) (0) | 2022.12.06 |