문제
풀이
※ 주의 1<= N <= 10,000,000
최대 데이터가 천만개인데, 자바 시간 제한은 3초, 메모리 제한은 512MB이므로 Scanner를 사용해서는 안된다고 한다.(내부 코드에서 정규식 검사과정에 시간을 많이 소요하기 때문)
방법1) BufferedReader를 사용해서 Arrays.sort로 정렬
방법2) 카운팅 정렬을 사용. 참고
방법1을 사용하여 풀었다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
int[] arr = new int[N];
for(int i=0; i<N; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(arr);
for(int i=0; i<N; i++) {
sb.append(arr[i]).append("\n");
}
System.out.println(sb);
}
}
'PS(Java) > 백준' 카테고리의 다른 글
[PS] 백준 11004번 K번째 수 (0) | 2022.05.24 |
---|---|
[PS] 백준 11652번 카드 (0) | 2022.05.23 |
[PS] 백준 10825번 국영수 (0) | 2022.05.20 |
[PS] 백준 10814번 나이 순 정렬 (0) | 2022.05.19 |
[PS] 백준 11650번 좌표 정렬하기(Comparable과 Comparator) (0) | 2022.05.18 |