-
[백준/JAVA] 10989ETC/Algorithm 2023. 5. 21. 00:33
import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine()); // 0~9999 의 범위 따라서 출력할 때 1을 더해서 출력 int[] arr = new int[10000]; for (int i = 0; i < N; i++) { arr[Integer.parseInt(br.readLine())-1]++; } //입력 끝나면 닫아주기, Garbage Collector를 너무 의존하지 말자 br.close(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 10000; i++) { while (arr[i] > 0) { sb.append(i+1).append("\n"); arr[i]--; } } bw.write(sb.toString()); bw.flush(); } }
조건에
시간 제한 & 메모리 제한이 있는 문제카운팅 정렬을 통해 해결하였다.
이번 기회에 메모리 제한과 관련하여 Garbage Collector라는 개념이
다시 상기되었고, 잊지 말자는 의미로 br.close()를 추가하였다.