백준
10989번 수 정렬하기 3
mad038
2024. 4. 18. 14:54
10989 수 정렬하기 3 //백준
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
● 오답 사유
- (시간초과) 계산식은 옳았지만 스캐너로는 인식 속도가 너무 느려 시간 초과
● 해결 방안
- 단순하게 계산하는 걸로 변경이 가능하고 여러 방면으로 확인해야 한다는 것을 알게 됨
- BufferedReader와 StringBuilder를 이용해 빠르게 받게함
- 오답
더보기
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long a = sc.nextLong();
long[] aa = new long[(int) a];
for (long i = 0; i < a; i++) {
aa[(int) i] = sc.nextInt();
}
Arrays.sort(aa);
for (long i = 0; i < a; i++) {
System.out.println(aa[(int) i]);
}
}
}
- 정답
더보기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int a = Integer.parseInt(bf.readLine());
int[] aa = new int[a];
for (int i = 0; i < a; i++) {
aa[i] = Integer.parseInt(bf.readLine());
}
Arrays.sort(aa);
for( int good : aa){
sb.append(good).append('\n');
}
System.out.println(sb);
}
}