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