본문 바로가기
Etc/Algorithm

[JAVA] 백준 2751번: 수 정렬하기 2

by 달의 조각 2022. 6. 27.

시간 복잡도가 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

댓글