중앙값 구하기

문제 설명

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

입출력 예 설명

입출력 예 #1

  • 본문과 동일합니다.

입출력 예 #2

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

내 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function solution(array) {
// 배열에서 뽑은 값을 배열로 넣기
var answer = [];
// 배열의 오름차순 정렬, 오름차순으로 정리 안했을시 오류
array.sort(function(a, b) {
return a - b;
});
// 배열의 중간 순번을 정수로 추출하여 저장
let i = parseInt(array.length / 2);
// 배열에서 중간값을 빼내 출력할 배열로 저장
answer.push(array[i]);
// 배열로 저장했기 때문에 정수로 다시 출력
return Number(answer);
}

다른 사람 풀이

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