배열의 중앙값을 가져오는 문제. 오름차순과 중앙값을 어떻게 가져오는 지 몰라서 풀지 못했다.
function solution(array) {
array.sort(); // 오름차순으로 정렬
const mediumIndex = parseInt(array.length / 2); // 길이 값의 반을 정수로 구함
const medium = array[mediumIndex]; // 배열 안에 mediumIndex 값을 구한다
return medium;
}
처음에 시도한 코드. 코드 실행에서는 잘 넘어갔는데 정답 제출을 하니까 넘어가지 않았다.
function solution(array) {
array.sort(function(a, b){ // 문자열 말고 숫자로 비교 후 오름차순 정렬
return a - b;
})
const mediumIndex = parseInt(array.length / 2); // 길이 값의 반을 정수로 구함
const medium = array[mediumIndex]; // 배열 안에 mediumIndex 값을 구한다
return medium;
}
sort함수는 문자열로 비교해서 오름차순으로 정리하는데 범위 값을 보면 음수도 포함되어 있다.
그래서 문자열로 정의를 해주면 음수와 양수의 차를 알 수 없어져 코드에 오류가 났던 것.
그래서 숫자로 비교할 수 있게 함수를 설정해 줬다.
오름차순으로 정렬하는 sort와 문자열을 숫자로 바꿀 수 있는 함수를 배웠다.