수 정렬 2랑 같은 코드 넣었다가 메모리초과!
문제에 적혀있던 설명대로 counting 정렬을 공부해 풀이하였다.
Counting Sort (카운팅 정렬/ 계수정렬)
https://www.youtube.com/watch?v=Urmb0FpW6Hk
O(n)의 시간복잡도를 가지는 정렬
수 정렬 2랑 같은 코드 넣었다가 메모리초과!
설명대로 counting 정렬을 해보자!

counting sort 및 StringBuilder 출력방식을 사용하여 풀이하였다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class A_10989 {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String Ns = bf.readLine();
int N = Integer.parseInt(Ns);
int list[] = new int[10001];
for(int i=0;i<N;i++) list[Integer.parseInt(bf.readLine())]++;
bf.close();
StringBuilder sb = new StringBuilder();
for(int i = 0; i < 10001; i++){
while(list[i] > 0){
sb.append(i).append('\n');
list[i]--;
}
}
System.out.println(sb);
}
}