문제
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
정답
function solution(array) {
return array.sort((a,b) => b -a)[(array.length - 1) / 2];
}
- array.sort((a, b) => b - a) : 배열 array를 내림차순으로 정렬합니다. sort() 메서드의 콜백 함수를 통해 비교 함수를 제공하고, 여기서는 b - a를 사용하여 내림차순 정렬을 수행합니다.
- b - a: b가 a보다 크면 양수, 작으면 음수, 같으면 0이 되므로 내림차순으로 정렬됩니다.
- [(array.length - 1) / 2] : 정렬된 배열에서 중앙 인덱스에 해당하는 값을 가져옵니다. 배열의 길이에서 1을 뺀 값에 2를 나누어 중앙 인덱스를 계산합니다.
- 예를 들어, 배열의 길이가 5라면 중앙 인덱스는 (5 - 1) / 2 = 2가 됩니다.
- return array\[(array.length - 1) / 2\]; : 중앙값에 해당하는 값을 반환합니다.