백준 알고리즘
[JAVA]백준2751 수정렬하기 2
방감자
2022. 11. 21. 00:54
배열로 수를 저장하고 Arrays.sort를 사용하니 시간초과가 떠서
삽입정렬도 써보고 선택정렬도 써봤다 ..
ArrayList로 수를 저장하고 Collections.sort를 사용했다
Collections.sort는 합병정렬과 삽입정렬의 최선의 경우를 사용하는 알고리즘인 Timsort를 사용한다
또한 System.out.print가 아닌 StringBuilder를 사용하는 것도 시간 단축에 큰 도움이 되었다.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Beak2751 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int N = sc.nextInt();
ArrayList<Integer> nums = new ArrayList<>();
for (int i=0;i<N;i++){
nums.add(sc.nextInt());
}
Collections.sort(nums);
for(int n : nums){
sb.append(n).append("\n");
}
System.out.println(sb);
}
}