[programmers] 중앙값 구하기 - JavaScript
주어진 정수 배열을 오름차순으로 정렬한 후 중앙값을 반환하는 문제입니다. sort() 함수를 사용하여 배열을 정렬하고, 배열의 길이가 홀수인 경우 중앙값을 구합니다.
Dec 31, 2023
문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 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