정리하고기록하자

백준 (JAVA) - 수 정렬하기 3 (10989) 본문

백준 - 알고리즘

백준 (JAVA) - 수 정렬하기 3 (10989)

정리하고기록하자 2022. 9. 30. 11:12
반응형

백준 - 알고리즘 정렬 수 정렬하기 3 (10989) 문제 

 

문제

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


나의 생각

1. N개의 수가 주어졌기 때문에 입력 받아 배열 크기 만들기

2. 배열 원소 입력 받기

3. sort() 정렬 시키기

4. 출력하기


import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] arg){
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[] arr = new int[N];

		for (int i = 0 ; i < arr.length; i++){
			arr[i] = sc.nextInt();
		}

		Arrays.sort(arr);

		for(int i = 0 ; i < arr.length; i++){
			System.out.println(arr[i]);
		}
	}
}

결과는!!

시간 초과...


다른 사람들은 어떤 생각으로 접근 했는지 구글링 했는데 BufferedReader , Bufferedwriter 를 사용했다.

Scanner 를 사용 하지 않고 다시 해보았다.

package sample;

import java.io.*;
import java.util.Arrays;

public class algo {
	public static void main(String[] arg) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
		int N = Integer.parseInt(bf.readLine());

		int[] arr = new int[N];

		for (int i = 0 ; i < arr.length; i++){
			arr[i] = Integer.parseInt(bf.readLine());
		}
        
		Arrays.sort(arr);
        
		for(int i = 0 ; i < arr.length; i++){
			bw.write(String.valueOf(arr[i]) + "\n");
		}
		bf.close();
		bw.flush();
		bw.close();
	}
}

결과는!!

성공!

반응형