본문 바로가기

컴퓨터/백준

java - 백준 알고리즘 - 2751 수 정렬하기 2

반응형

 

 

 이 문제는 BufferedReader , BufferedWriter를 사용하여 입력과 출력을 하고 

 

Arraylist에 입력값을 받아 Collection.sort() 함수를 이용해 정렬을 해주면 된다.

 

( arr[] 배열을 이용한 후 Arrays.sort()를 이용하니 시간 초과가 났다. )

 

https://www.acmicpc.net/problem/2751

 

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

 

package E2020_03_13;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;

class Main {
	static int N;
	public static void main(String[] args) throws IOException {
		
		ArrayList<Integer> list = new ArrayList<Integer>();
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		N = Integer.parseInt(br.readLine());
		
		for(int i = 0 ; N > i ; ++i) {
			list.add(Integer.parseInt(br.readLine()));
		}
		
		Collections.sort(list);
		for(int i = 0 ; N > i ; ++i) {
			bw.write(list.get(i) + "\n");
		}
		bw.flush();
	}

}
반응형