Arrays.sort()로 풀면 시간초과가 나는 문제가 있는데, Arrays.sort()의 경우 dual-pivot Quicksort 알고리즘을 사용한다. 얘는 평균 시간 복잡도 O(nlogn), 최악 O(n²) 따라서 시간초과가 날 수 있다. 해결 방법 ①Collection.sort() Timsort → 합병 정렬(Merge sort), 삽입 정렬(Injection sort) 알고리즘을 사용하는데, 합병 정렬의 최악의 경우와, 삽입 정렬의 최선의 경우가 섞여있는 정렬 알고리즘을 hybrid sorting algorithm이라고 한다. 합병 정렬 : 최선, 최악 모두 O(n) 삽입 정렬 : 최선 O(nlogn), 최악 O(n²) 두 정렬 모두 안정 정렬(stable sort)이다. 시간 복잡도가 O(n)..