코틀릿 고차함수 13번

Judo·2020년 11월 14일
0
post-thumbnail
post-custom-banner

예외사항은 제거하고 작성하였다.

문제


정수를 요소로 갖는 배열과 정수(num)를 입력받아 num을 배열에 추가하고 정렬한다고 가정할 경우, num의 인덱스를 리턴해야 합니다.

풀이 코드


function getIndex(arr, num) {
  // TODO: 여기에 코드를 작성합니다.
  /* 
    1. 정수를 요소로 갖는 배열과 정수를 입력받는다.
    2. 입력받은 정수 num을 배열 arr에 추가한다.
        - arr.push(num); -> [ ... ]
    3. 배열 arr을 정렬한다.
        - 정렬은 오름차순 순서 
        - arr을 filter() 로 검사한다.
        - filter 조건은 (el < num)
        - filter 이후 num보다 작은 arr요소만 리턴된다.
        - 필터링된 arr.length를 반환하면 arr[마지막 인덱스] + 1 을 반환하므로 num의 index를 알 수 있다.
    
  */
  
  arr.push(num);
  return arr.filter(function (ele){
    return ele < num
  }).length; 
}

어려웠던 점


  1. 배열에 추가하고 오름차순으로 정렬하는 부분에 있어서 정렬을 어떻게 해야 할지 몰랐다.

KEY


  1. filter()를 통해 num보다 작은 arr요소를 골라내어 필터링된 배열(newArr)을 리턴하면 newArr 마지막 요소 다음에 num이 오면 되므로 이 문제에서는 newArr.length 를 리턴해서 num의 index를 알아냈다.
profile
즐거운 코딩
post-custom-banner

0개의 댓글