코딩테스트 문제풀기 1: 배열 정렬하기

휘루·2025년 6월 8일
0

코딩테스트

목록 보기
14/14

제약조건

정수 배열의 길이는 2 이상 10^5 (100,000) 이하입니다.

입출력 예시

[1, -5, 2, 4, 3] 을 [-5, 1, 2, 3, 4]로 정렬해서 출력하세요.
[2, 1, 1, 3, 2, 5, 4]를 [1, 1, 2, 2, 3, 4, 5]로 정렬해서 출력하세요.
[6, 1, 7]을 [1, 6, 7]로 정렬해서 출력하세요.

입출력은 arr에 테스트 케이스로 저장되어 있습니다.

문제 분석하고 풀기

제약조건

데이터 개수는 최대 10^5(100,000) 입니다.

제한시간이 3초이면 O(N^2) 알고리즘은 사용이 불가능합니다.
만약 배열의 최대 길이가 10이면 O(N^2) 알고리즘은 사용이 가능합니다.

sort

자바스크립트의 sort() 메서드는 아무런 조건을 전달하지 않고 실행하면 데이터가 문자열이라 가정하고 정렬합니다.

[1, 10, 5, 3, 100].sort();
[-1, 10, -5, 3].sort();

이렇게 입력하면
[1, 10, 100, 3, 5] 가 출력이 되는데
문자로 보고 1 -> 3 -> 5로 취급해 정렬합니다. 숫자는 123456789로 세니까요.

아래의 배열은 음수부터 출력하고 그 후 1234 순서로 출력이 되는데
[-1, -5, 10, 3] 가 출력이 되는데
이는 문자열 정렬이 되고 원하는 값이 나오지 않습니다.

function solution(n) {
	arr.sort( (a, b) => a - b);
    
    return arr;
}
profile
반가워요

0개의 댓글