1/13 TIL

taetae·2023년 1월 13일
0

내배캠 TIL

목록 보기
35/48

▶ 어떤 문제가 있었는지

배열의 중앙값을 가져오는 문제. 오름차순과 중앙값을 어떻게 가져오는 지 몰라서 풀지 못했다.

▶ 내가 시도해본 것들

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와 문자열을 숫자로 바꿀 수 있는 함수를 배웠다.

0개의 댓글