본문 바로가기
ComputerScience/알고리즘, 프로그래머스

[Lv.0] 중앙값 구하기(sort(), 불안정정렬, 안정정렬)

by VictorMeredith 2023. 1. 30.

1. 문제

2. 풀이

function solution(array) {
    var answer = 0;
    
    array.sort((a,b) => b-a) //배열을 정렬한다.

    answer = array[Math.floor(array.length/2)] //배열의길이를 2로 나눈값을 버림하면 중앙값의 index이다.
    
    return answer;
}

3. 알아야할 사항

 1) array.sort((a,b)=>a-b):

   - 콜백함수가 (a,b) => a-b 일 경우 오름차순 정렬

   - 콜백함수가 (a,b) => b-a 일 경우 내림차순 정렬

   - Stable Sort 란 ?

     : 배열의 요소 중 같은 값이 있을 경우 기존의 순서가 보장되어 정렬되는 정렬 알고리즘의 경우 안정정렬(Stable Sort)이다.

     : 반대로 순서가 보장되지 않는 경우 불안정정렬(Unstable Sort)이다.

     : JS의 array.sort() 의 경우 안정적인 정렬을 보장하지 않는다. (abstract sortin algorithm을 사용하므로)

댓글