Baekjoon2750,2751: 수 정렬하기(Scanner, Buffer)

Baekjoon2750,2751: 수 정렬하기(Scanner, Buffer)

수 정렬하기 2

시간 제한메모리 제한제출정답맞은 사람정답 비율

2 초 256 MB 147950 39870 27221 29.965%

문제

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

입력

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

출력

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

2750 풀이

수 정렬은 Arrays.sort를 이용하면 곧바로 해결된다

import java.util.Arrays; import java.util.Scanner; public class Main { static int[] arr; public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; for(int i=0; i

2751 풀이

정렬할 수가 매우 많을 때 Scanner를 사용하면 주어진 시간 안에 연산할 수 없을 것이다.

역시 Buffer를 사용한 풀이를 한다. BufferedReader와 BufferedWriter 클래스를 사용해 풀이한다.

import java.io.*; import java.util.Arrays; public class Main { static int[] arr; public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine()); int[] arr = new int[N]; for(int i=0; i

"); bw.flush(); bw.close(); }}

from http://devyoseph.tistory.com/136 by ccl(A) rewrite - 2021-11-03 19:01:37