백준 문제풀이/기본수학2

2751. 수 정렬하기 2 (자바, Java)

뮤츠 2022. 9. 25. 20:26

처음에 arrays.sort를 썼지만 시간초과로 탈락.

이후 검색결과 collections.sort로 바꿨지만 역시나 시간초과.

문제는 sysout을 그대로 반복문에서 출력했기 때문이라고 생각, StringBuilder로 추가한뒤 한번에 출력하였다.

sysout보다 빠른 BufferedWriter로 하는것도 괜찮았을수도?

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;

public class Main {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		ArrayList<Integer> arr = new ArrayList<>();
		StringBuilder sb = new StringBuilder();
		
		for (int i=0; i<n; i++) {
			arr.add(Integer.parseInt(br.readLine()));			
		}
		
		Collections.sort(arr);
		
		for (int i=0; i<n; i++) {
			sb.append(arr.get(i)+"\n");
		}
		
		System.out.println(sb);
	}
}