ComputerScience/알고리즘, 프로그래머스
[Lv.0] 중앙값 구하기(sort(), 불안정정렬, 안정정렬)
VictorMeredith
2023. 1. 30. 16:19
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을 사용하므로)