본문 바로가기
코딩테스트/Javascript로 코딩테스트 준비하기

Javascript || 숫자 배열 정렬, 오름차순

by Godgil 2021. 7. 18.

프로그래머스에서 문제를 풀던 중, 숫자 배열 정렬하는 부분에서 오류가 나서 진행이 되지 않았고,

MDN에서 arr.sort() 문서를 찾아봤습니다.

 

간략하게 설명하면, sort(compareFunction)함수에서 compareFunction을 비워두는 경우, "사전순"으로 정렬이 된다고 설명하고 있습니다.

예를 들어, 아래처럼 [80,9]라는 배열을 sort()를 통해 정렬하면 

80은 9보다 크지만, 사전순으로 정렬되기 때문에 80이 앞으로 정렬이 됩니다.

let arr = [80,9]
arr.sort()//[80,9]

 

따라서, 비교하는 compareFunction을 따로 지정해줘야 숫자를 오름차순으로 정렬할 수 있습니다

오름차순으로 정렬하는 경우, 공식문서의 예제로는 다음과 같게 정렬하고 있습니다.

let arr = [40, 1, 5, 200]

function compareNumbers(a,b){
	return a-b;
}

arr.sort(compareNumbers); // [1, 5, 40, 200]

 

람다식으로 다음과 같이 사용 할 수도 있습니다.

let arr = [40, 1, 5, 200]

arr.sort((a,b) => a-b ); // [1, 5, 40, 200]

 

파이썬으로만 준비하다가, 자바스크립트로 풀어봤는데 아직 익숙하지가 않네요.

 

javascript로 코딩테스트를 준비하는 누군가에게 도움이 되었으면 좋겠습니다.

 

 

MDN 공식문서 바로가기

댓글