알고리즘

[Programmers algorithm👀] 중앙값 구하기

미리구 2022. 11. 25. 15:04

1. 문제설명

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

2. 문제풀이

function solution(array) {
  let answer = 0;
  
  // 오름차순으로 정렬
  array.sort(function (a,b) {
    return a-b;
  });
  
  // 중앙값 = array의 (배열의 길이 ÷ 2)번째 인덱스 값 
  answer = array[Math.floor(array.length / 2)];
  
  return answer;
}

◾array.sort() : 배열 정렬에 사용하는 함수

// 오름차순 정렬
array.sort((a,b) => a-b);

// 내림차순 정렬
array.sort((a,b) => b-a);