배열의 유사도 자바스크립트 230703til

Y b·2023년 7월 3일
0

문제

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

문제원리

for문, foreach, push 메서드를 이용했습니다.

또한 유효성 검사를 할 수 있는 isFound를 변수로 선언해 이용했습니다.

1.문제풀이 시도

function solution(s1, s2) {

var answer = [];

for(i=0;i>=0; i++){

if(s1[i]=s2.forEach(function(e){return e})){

answer=s1[i].push

}

return answer.length

}

return answer;

}

console.log 대신 어떻게 해야할 지 모르겠어서 헤맸다.

2. 최종 답

function solution(s1, s2) {

var answer = [];

for (var i = 0; i < s1.length; i++) {

var isFound = false;

s2.forEach(function(e) {

if (s1[i] === e) {

isFound = true;

} });

if (isFound) {

answer.push(s1[i]);

} }

return answer.length; }

모르겠어서 mdn에서 개념을 찾아보면서 했다.

한번에 묶으려 하지 않고 3단계로 나눠 했더니 되었다.

3.다른 사람의 답

0열 선택0열 다음에 열 추가
0행 선택0행 다음에 행 추가
셀 전체 선택
열 너비 조절
행 높이 조절

function solution(s1, s2) {

const intersection = s1.filter((x) => s2.includes(x));

return intersection.length;

}

셀 병합
행 분할
열 분할
너비 맞춤
삭제
filter로 새로운 배열을 만들고 길이를 재면

훨씬 간편했다.

filter를 떠올리지 못했어서 아쉬웠다.

if와 for을 떠나 다른 메서드도 이용하도록 하자.

profile
웹 개발자

0개의 댓글

관련 채용 정보