문제설명
머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 ≤ array의 길이 ≤ 100
- 1 ≤ height ≤ 200
- 1 ≤ array의 원소 ≤ 200
풀이
약간 문제가.. 너 filter() 매서드 알고있어? 라고 물어보고 있다.
filter() 매서드를 이용해서, 각 배열의 원소와 주어진 height를 비교해 더 클경우만 리턴후 lenght를 반환해주자.
const solution = (array, height) => array.filter(el => el > height).length;
filter()
배열에 대해서 사용 할 수 있는 매서드이다.
Array.filter() 해당 형태에서만 사용이 가능하며, 문자열, 객체등의 경우 배열로 변환을 해줘야만 사용이 가능하다.
기능은 단순하게 해당 배열의 원소를 돌아가면서 return 값이 true인 원소만을 따로 뽑아 배열로 리턴해준다.
예를들면 [1,2,3,4,5]라는 배열이 있을때,
[1,2,3,4,5].filter(el => 3 < el);
이렇게 작성해주면 3보다 큰 숫자, 즉, [4,5] 배열을 리턴해준다.
인자로는 첫번째로 배열의 원소가 있고 두번째로 배열의 인덱스를 받을 수 있다.
[1,2,3,4,5].filter((el, idx) => idx < 2);
이렇게 작성해주면 idx가 2 이하인 즉 0,1 번 인덱스
[1,2] 배열을 리턴해준다.