첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
→ 입력 N의 개수는 10,000,000으로 많고 값의 범위는 10,000으로 작은 자연수
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BOJ10989 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int num = Integer.parseInt(br.readLine());
int[] arr = new int[10001]; // Count Array 생성
for(int i=0; i<num; i++) {
int su = Integer.parseInt(br.readLine());
arr[su] +=1;
}
// arr의 배열의 0 인덱스부터
for(int i=0; i<arr.length; i++) {
//값이 0이 아니면
if(arr[i]!=0) {
// 값의 크기만큼 출력해준다
for(int j=0; j<arr[i]; j++) {
sb.append(i).append("\n");
}
}
}
System.out.println(sb.toString());
}
}
JavaScript
복사
입력
10
5
2
3
1
4
2
3
5
1
7
JavaScript
복사
출력
1
1
2
2
3
3
4
5
5
7
JavaScript
복사