Developer. Designer

프로그래머스 코딩입문 Day3-2

중앙값 구하기😀

중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다.
예를 들어 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


function solution(array) {
  // 배열 정렬
  array.sort(function (a, b) {
    return a - b;
  });

  // 중앙값 계산
  var length = array.length;
  var middleIndex = Math.floor(length / 2);

  // 배열의 길이가 홀수일 때
  if (length % 2 === 1) {
    answer = array[middleIndex];
  }
  // 배열의 길이가 짝수일 때
  else {
    // 중앙에 위치한 두 값의 평균을 계산
    answer = (array[middleIndex - 1] + array[middleIndex]) / 2;
  }

  return answer;
}

먼저, 배열을 오름차순으로 정렬합니다.
정렬된 배열의 길이를 확인하고, 배열의 길이가 홀수인 경우와 짝수인 경우를 나눠서 처리합니다.
홀수인 경우: 배열의 중간 인덱스에 해당하는 값을 중앙값으로 설정합니다.
짝수인 경우: 배열의 중간에 위치한 두 값의 평균을 중앙값으로 설정합니다.
최종적으로 계산된 중앙값을 반환합니다.
예를 들어, [1, 2, 7, 10, 11] 배열이 주어진 경우,
배열을 정렬하면 [1, 2, 7, 10, 11]이 됩니다. 배열의 길이는 홀수이므로 중앙값은 중간에 위치한 값인 7이 됩니다. 따라서 이 함수는 7을 반환합니다.