본문 바로가기
Front-end/Javascript

[Javascript]코딩테스트 프로그래머스 "중복된 숫자 개수" 풀이

by 빽짱구 2024. 5. 2.

코딩테스트 연습 > 코딩테스트 입문 > 중복된 숫자 개수

문제 설명

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

 

제한사항

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

 

입출력 예

 

입출력 예 설명

입출력 예 #1

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

 

입출력 예 #2

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

 

반응형

 

문제 풀이

방법1. filter()

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

 

'filter' 메서드를 사용하여 주어진 배열에서 n과 같은 요소들만을 필터링하고, 필터링된 배열의 길이를 반환합니다. 이를 통해 n이 배열 내에 몇 개 있는지를 계산할 수 있습니다.

 

방법2. forEach()

function solution(array, n){;
  let count = 0;

  array.forEach(num => {
    if(num === n){
      count++;
    }
  });

  return count;
}

 

'array' 배열에서 정수 'n'이 몇 개 있는지를 카운트하여 반환합니다.

'forEach' 메서드를 사용하여 각 숫자를 확인하고, 숫자가 'n'과 같을 때마다 'count'를 증가 시킵니다. 최정적으로 'count'를 반환하여 'n'의 개수를 얻습니다. 

 

// 예시 입력

const array = [1,1,2,3,4,5];

const n = 1;

console.log(solution(array, n));

 

참고

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

 

Array.prototype.filter() - JavaScript | MDN

Array 인스턴스의 filter() 메서드는 주어진 배열의 일부에 대한 얕은 복사본을 생성하고, 주어진 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링 합니다.

developer.mozilla.org

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array

 

Array - JavaScript | MDN

다른 프로그래밍 언어의 배열과 마찬가지로, Array 객체는 여러 항목의 컬렉션을 단일 변수 이름 아래 저장할 수 있고, 일반적인 배열 연산을 수행하기 위한 멤버가 있습니다.

developer.mozilla.org

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

 

Array.prototype.forEach() - JavaScript | MDN

Array 인스턴스의 forEach() 메서드는 각 배열 요소에 대해 제공된 함수를 한 번씩 실행합니다.

developer.mozilla.org