강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

developer501님의 프로필 이미지
developer501

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

2. 공통원소구하기(two pointers algorithm)

Arrays.sort() 와 Collections.sort()에 대한 질문입니다

작성

·

350

0

강의에선 Arrays.sort(a); 와 같이 nlogn으로 정렬을 하셨는데요.

검색해보니 평균 O(nlogn)부터 최악은 O(n^2)더라고요

반면에 Collections.sort()로 정렬을 하게되면,

평균/최악 모두 O(nlogn)이더라고요.

 

결론은 Collections.sort()가 더빨라보이는데요.

대신 아래와 같이 sort를 쓰기위해서는 int 배열을 list로 변환하는 작업이 들어가야 합니다 (stream 같은건 느리다고 알고있습니다..)

 

Collections.sort(Arrays.stream(a).boxed().collect(Collectors.toList()));

 

이 경우는 Arrays.sort()로 정렬하는게 나은 방법인가요?

아니면 그래도 Collections.sort()가 나은 방법인가요?

사실 코딩테스트에서는 Arrays.sort()로 간단하게 치고 넘어가는 게 낫다고 개인적으로 생각합니다..

 

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

N제한이 어마무시하게 크지 않은 한 Arrays.sort()를 저같으면 사용할 것 같습니다.

developer501님의 프로필 이미지
developer501

작성한 질문수

질문하기