오늘의 코딩테스트 한줄 - 중복된 숫자 개수

Edwin·2023년 1월 27일
1
post-thumbnail

중복된 숫자 개수

정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.

1) 나의 풀이 살펴보기

function solution(array, n) {
    return array.filter(element => n === element).length;};

이번 코딩테스트의 핵심은 filter를 사용할 수 있는지에 대한 질문이었다. 사실 내가 풀었다기 보다는 구글링의 결과이다.
mozilla, array.prototype.filter()

function solution(array, n) {
    return array.filter(element => n === element).length;};

solution([1,1,2,3,4,5],1);
  • array : [1,1,2,3,4,5]
  • n : 1

배열에 1이 몇개 있는지 찾는 문제였다.

1) array.filter(), 배열에서 (필더)에 해당되는 무엇을 찾겠다는 선언이다.
2) filter(parameter => n === parameter), parameter를 찾을 것인데, 화살표형 함수가 선언되었다. n으로 들어오는 변수를 parameter와 일치시키고(?)
3) array.filter(element => n === element).length; parameter를 array배열에서 찾아라(?)

2) filter 이해하기

numbers배열에서 홀수만 구하는 함수를 만들어보자.

function odd(numbers) {
  return numbers.filter(odds => odds % 2 === 1);};

const numbers1 = [1,2,3,4,5,6,7,8,9,10];
const numbers2 = [11,22,33,44,55,66,77,88,99];

console.log(odd(numbers1));
console.log(odd(numbers2));

odd() 홀수를 구하는 함수를 선언하였고, 인자로 numbers1, numbers2를 실행시킨 결과가 이미지의 사진이다.

매개변수로 들어간 인자는 function odd(numbers) {};의 내용에 따라서 실행될 것이다.

  • numbers.filter(odds함수)의 실행
  • numbers.filter(odds => odds % 2 === 1) 매개변수로 들어온 배열의 인자 하나하나가, filter()의 매개변수로 들어가서 매개변수를 2로 나눈 값이 1, 즉 홀수라면
  • return numbers.filter(odds => odds % 2 === 1);}; 그 값을 반환해줘라.

이런 구문이다. 이 결과에 따라서 numbers1, numbers2 배열의 홀수값만 콘솔에 기록된 것을 볼 수 있다.사실 100%이해가 된 것은 아니지만, 활용은 할 수 있을 것 같다.

profile
신학전공자의 개발자 도전기!!

1개의 댓글

comment-user-thumbnail
2023년 1월 28일

코딩! 작가님 덕분에 쉽게 정복할 수 있을 것 같습니다!ㅎㅎ

답글 달기