개발자 미니민의 개발스터디

[백준 JAVA] 2751번 풀이 - 수 정렬하기2

by mini_min

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

/**
 * 2751번 풀이 - 수 정렬하기2
 * 시간 복잡도가 O(nlogn)인 정렬 알고리즘으로 풀 수 있습니다.
 * 내장된 정렬 함수를 사용하시오.
 *
 * 5
 * 5
 * 4
 * 3
 * 2
 * 1
 *
 * N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
**/
public class Main8 {

    public static void main(String[] args) throws Exception {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int n = Integer.parseInt(br.readLine());
        ArrayList<Integer> nums = new ArrayList<>();

        for ( int i = 0; i < n; i++ ){
            nums.add(Integer.parseInt(br.readLine()));
        }

        Collections.sort(nums);

        for ( int value : nums){
            sb.append(value).append("\n");
        }

        System.out.println(sb);

    }
}

 

풀이

시간초과 ! 😳 스트레스...

Collections.sort () 또는 Arrays.sort() 를 쓰면 되는데, 시간초과가 자꾸 났다.

아무래도 print 를 여러번 찍어서 그런듯.... 

찾아보니 StringBuilder 에 저장해서 쓰면 print 는 한 번만 사용하면 되니까 시간이 초과되지 않는 것 같다!

역시 print 는 정말 오래걸리는구나.... 

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기