🗃️javascript/프로그래머스

머쓱이보다 키 큰 사람(Lv.0)(array.filter() 사용해보기)

하얀성 2022. 12. 28. 14:04
<문제 설명>
머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.

제한사항
  • 1 ≤ array의 길이 ≤ 100
  • 1 ≤ height ≤ 200
  • 1 ≤ array의 원소 ≤ 200

입출력 예arrayheightresult
[149, 180, 192, 170] 167 3
[180, 120, 140] 190 0

입출력 예 설명

입출력 예 #1

  • 149, 180, 192, 170 중 머쓱이보다 키가 큰 사람은 180, 192, 170으로 세 명입니다.

입출력 예 #2

  • 180, 120, 140 중 190보다 큰 수는 없으므로 0명입니다.

<제출답안>

function solution(array, height) {
    var answer = 0;
    for(let i = 0; i<array.length; i++) {
        if ( array[i] > height){
            answer++;
        } 
    }
    return answer;

 

답은 맞췄는데 아래처럼 하고싶다.


<참고 풀이>

function solution(array, height) {
    return array.filter((el)=>{return el > height;}).length
}

array 중에서 filter의 조건에 맞는 요소el들만 걸러내서 array를 재배열하는 함수.


배열.filter(function(항목) { 조건 })

var array = [1,2,3,4,5];
array.filter(function(x) {
  return x % 2 === 0;
}); // [2,4]

필터링한다는 말을 들어보셨죠? 특정 조건에 해당하는 배열만을 걸러내 새 배열로 만듭니다. 역시 매개변수로 있는 함수 안에 조건을 적으면 됩니다. 여기서는 조건이 항목을 2로 나눈 나머지가 0인 것(짝수)만 걸러내라고 되어있네요.

 

출처: https://www.zerocho.com/category/JavaScript/post/57387a9f715202c8679b3af0

 

https://www.zerocho.com/category/JavaScript/post/57387a9f715202c8679b3af0

 

www.zerocho.com