중앙값 구하기
중앙값 구하기
- this ordered seed list will be replaced by the toc
문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 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입니다.
나의 풀이
function solution(array) {
const asc = array.sort((a, b) => a - b);
const mid = Math.floor(array.length / 2);
return asc[mid];
}나의 두번째 풀이(Code Refactoring)
function solution(array) {
return array.sort((a, b) => b - a)[~~(array.length / 2)];
}
//sort 정렬 후 array의 갯수의 중간 인덱스값을 추출참고 할 만한 다른 사람의 코드
function solution(array) {
let sortedArr = array.sort((a, b) => a - b);
console.log(sortedArr);
for (let i = 0; i < sortedArr.length; i++) {
if (i === (0 + sortedArr.length - 1) / 2) {
return sortedArr[i];
}
}
}