본문 바로가기

개발

스프링하다보니 private final은 이해하고

https://www.acmicpc.net/problem/10989

 

10989번: 수 정렬하기 3

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

www.acmicpc.net


 

배열인덱스로 카운트 처리해서 정렬하는게 아이디어가 좋았던거같다.

그리고 BufferedReader , BufferedWriter로 써서 시간 단축해야하는 것도 알고있짜구

 

package com.job;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;

public class Main {
    private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

    public static void main(String[] args) throws Exception{
        int n = Integer.parseInt(br.readLine());
        int[] arr = new int[10001];
        Arrays.fill(arr,0);
        for (int i = 0; i < n; i++){
            arr[Integer.parseInt(br.readLine())] += 1;
        }
        for (int i = 1; i < 10001; i++){
            while(arr[i]-->0){
                bw.write(i+"\n");
            }
        }
        bw.flush();
    }
}