[프로그래머스] 중앙값 구하기 - JavaScript

.DS_Store·2023년 2월 28일
0

Algorithm

목록 보기
3/3
post-thumbnail

문제

중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.

풀이

function solution(array) {
    
    const middleIdx = parseInt(array.length / 2);
    return array.sort(function(a, b)  {
      return a - b;
    })[middleIdx];

}

JavaScript의 sort

mdn 문서를 살펴보면,

배열의 정렬 arr.sort([compareFunction])
compareFunction이라는 정렬 순서를 지정하는 함수를 optional한 매개변수로 가질 수 있다.
단, 생략하면 배열은 각 요소를 문자열로 변환하고, 문자의 유니코드 포인트 값에 따라 정렬 된다.

따라서 매개변수를 생략하고 arr.sort()를 사용하게 되면
arr = [1, 8, 4, 10][1, 10, 4, 8]로 정렬된다.

숫자의 오름차순, 내림차순을 위한 매개변수는 다음과 같다.

// 오름차순
function compareNumbers(a, b) {
  return a - b;
}

// 내림차순
function compareNumbers(a, b) {
  return b - a;
}

0개의 댓글