[programmers] 중앙값 구하기 - JavaScript

주어진 정수 배열을 오름차순으로 정렬한 후 중앙값을 반환하는 문제입니다. sort() 함수를 사용하여 배열을 정렬하고, 배열의 길이가 홀수인 경우 중앙값을 구합니다.
Dec 31, 2023
[programmers] 중앙값 구하기 - JavaScript

문제 설명

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

solution.js

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

핵심 키워드

  • 자바스크립트에서 배열을 정렬하려면 sort()함수를 사용한다.
  • sort() 함수는 배열 내의 값을 정렬하기 전에 문자열로 변환하기 때문에, 조건을 부여하지 않으면 원하지 않는 결괏값이 나올 수 있다.
  • 따라서 숫자 배열을 정확히 오름차순으로 정렬하고 싶다면 sort((a,b)=>a-b); 와 같이 콜백 함수를 사용해야 한다.
  • 내림차순은 반대로 sort((a,b)=>b-a); 와 같이 정의한다.
 

결론!

해당 문제를 풀면서 sort() 함수의 사용법을 익힐 수 있었다.
 
Share article

👨🏻‍💻DriedPollack's Blog