ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준/JAVA] 10989
    ETC/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()를 추가하였다.

    댓글

Designed by black7375.