문제:
https://www.acmicpc.net/problem/15688
15688번: 수 정렬하기 5
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이며, 같은 수가 여러 번 중복될 수도 있다.
www.acmicpc.net
코드:
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
//Scanner sc = new Scanner(System.in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
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);
StringBuilder sb = new StringBuilder();
for(int i=0;i<n;i++){
sb.append(arr[i]).append("\n");
}
System.out.println(sb);
}
}
이 문제의 경우 수 정렬하기 4 와 같은 방법으로는 통과가 되지않는다.
그 이유는 StringBuilder , StringBuffer의 시간차이
https://madplay.github.io/post/difference-between-string-stringbuilder-and-stringbuffer-in-java
자바 String, StringBuilder 그리고 StringBuffer 성능 차이 비교
자바에서 String과 StringBuilder 그리고 StringBuffer의 차이는 무엇일까? 그리고 제일 빠른 연산 속도는 어떤 것일까?
madplay.github.io
https://www.acmicpc.net/board/view/36536
글 읽기 - java 내장 sort 메서드 간 속도 차이
댓글을 작성하려면 로그인해야 합니다.
www.acmicpc.net
https://laugh4mile.tistory.com/175
[JAVA] 정렬에 대한 고찰 (Arrays.sort() 와 Collections.sort())
최근 백준 - 수 정렬하기 2 라는 문제를 풀다가 이상한 상황을 겪었다. Link : https://www.acmicpc.net/problem/2751 아니 배열에 담아 Arrays.sort() 해서 출력하면 시간초과가 나고 ArrayList에 담아 Collections.sort()
laugh4mile.tistory.com
Sort 간의 속도차이에 있는 것 같다.
이 문제의 경우 Arrays.sort()는 통과가 되고 Collections.sort 의 경우 통과가 되지 않는데
ArrayList에 넣는과정, 값을 불러오는 과정과 배열의 시간에서 차이가 발생한 것인지
아님 Sort의 시간 차이 떄문인지는 잘 모르겠다.
일반적으로 Collections.sort가 빠르니 불러오는 과정이 문제일지도?
-------------------------------------------------------------------------------------------------------------
'Java > 백준' 카테고리의 다른 글
[Java][11652] 카드 (1) | 2022.11.06 |
---|---|
[Java][1431] 시리얼 번호 (0) | 2022.11.06 |
[Java][11931] 수 정렬하기 4 (0) | 2022.11.05 |
[Java][11726] 2xn 타일링 (0) | 2022.10.08 |
[Java][15683] 감시 (0) | 2022.10.05 |