프로그래머스

프로그래머스 3일차

ture403 2023. 5. 13. 19:21

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90
반응형

문제3

문제설명

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

제한사항

  • array의 길이는 홀수입니다.
  • 0 < array의 길이 < 100
  • -1,000 < array의 원소 < 1,000

입출력 예

array result
[1,2,7,10,11] 7
[9,-1,0] 0

입출력 예 설명

  • 9, -1, 0을 오름차순 정렬하면 -1, 0, 9이고 가장 중앙에 위치하는 값은 0입니다.

풀이

function solution(array) {
    array.sort(function(a,b){
        return a-b;
    })
    var middleIndex = Math.floor(array.length / 2);
    return array[middleIndex];
}

*sort  함수 내부에서 이 메소드를 사용하여 배열을 오름차순으로 정렬합니다.

비교 함수는 두 숫자를 인자로 받아 뺄셈 연산을 통해 오름차순 정렬을 수행하여 작은 순서대로 배열을 정렬합니다.

 

중앙 인덱스를 계산하기 위해서는

배열의 길이를 2로 나누고

소수점 이하를 버림합니다.

 

중앙 인덱스를 사용해 정렬된 배열에서 중앙값을 찾아 반환하면 됩니다.