시간 복잡도가 O(nlogn)인 정렬 알고리즘으로 풀 수 있다
💡
1. Colletions.sort()를 사용한다
시간 복잡도 O(n) ~ O(nlogn)을 보장한다
단, 배열 대신 리스트를 사용해야 한다
2. StringBuilder를 사용한다
String과 문자열을 더할 때 새로운 객체를 생성하지 않고 기존 데이터에 더하는 방식이다
속도가 빠르고 부하가 적다
import java.util.*;
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < n; i++) {
list.add(sc.nextInt());
}
Collections.sort(list);
for (Integer i : list) {
sb.append(i).append("\n");
}
System.out.print(sb);
}
}
'Etc > Algorithm' 카테고리의 다른 글
[Java] 백준 10828번: 스택 (0) | 2022.07.11 |
---|---|
[JAVA] 백준 11399번: ATM (0) | 2022.06.28 |
[JAVA] 백준 2752번: 세수정렬 (0) | 2022.06.26 |
[Algorithm] 정렬 알고리즘 (0) | 2022.06.25 |
[JAVA] 백준 17478번: 재귀함수가 뭔가요? (0) | 2022.06.24 |
댓글