[프로그래머스] 중복된 숫자 개수


문제 설명

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


제한사항

  • 1 ≤ array의 길이 ≤ 100
  • 0 ≤ array의 원소 ≤ 1,000
  • 0 ≤ n ≤ 1,000

입출력 예

arraynresult
[1, 1, 2, 3, 4, 5]12
[0, 2, 3, 4]10

입출력 설명

입출력 예 #1

  • [1, 1, 2, 3, 4, 5] 에는 1이 2개 있습니다.

입출력 예 #2

  • [0, 2, 3, 4] 에는 1이 0개 있습니다.

나의 첫번째 풀이

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

나의 두번째 풀이(Code Refactoring)

function solution(array, n) {
  let result = 0;
  for (i = 0; i < array.length; i++) {
    if (array[i] === n) result++;
  }
  return result;
}
// for문을 이용하여 단순히 n의 갯수를 출력

참고 할 만한 다른 사람의 코드

function solution(array, n) {
  return array.reduce((prev, curr) => {
    if (curr === n) prev++;
    return prev;
  }, 0);
}
// reduce를 이용하여 중복된 원소의 갯수를 구하는 방법