본문 바로가기
공부 정리/백준

[백준] 자바 10989 수 정렬하기 3

by 경적필패. 2021. 8. 13.
반응형

문제

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

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

출력

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


테스트 케이스

입력:

10
5
2
3
1
4
2
3
5
1
7

 

출력:

1
1
2
2
3
3
4
5
5
7

 

 


접근

1. 얼마만큼 수를 입력받을지에 대한 수 입력 받음

2.(1)에서 입력받은 수만큼 수 입력 받음

3. 오름차순으로 정렬


코드

import java.awt.desktop.SystemEventListener;
import java.io.*;
import java.math.*;
import java.util.*;

public class Main {

	/*
 	 10989 problem
	*/

	
	public static void main(String[] args) throws NumberFormatException, IOException {
		// TODO Auto-generated method stub
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int input = Integer.parseInt(br.readLine());
		int arr[] = new int[input];
		
		for(int i=0; i<input; i++) {
			arr[i] = (Integer.parseInt(br.readLine()));
		}
		Arrays.sort(arr);
		for(int i=0; i<input;i++) {
			bw.write(String.valueOf(arr[i])+"\n");
		}
		bw.flush();
		br.close();
		bw.close();
	}
}

주의

ArrayList를 이용하였더니 메모리 초과가 일어났다.

확실히 배열보다 메모리를 많이 잡아먹나 봅니다.

 

반응형

댓글