자바/백준

[백준 10989] 수 정렬하기 3

슈슈버거 2022. 12. 1. 23:18

문제

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

 

10989번: 수 정렬하기 3

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

www.acmicpc.net


내가 작성한 코드

import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.TreeMap;

public class qor10989 {
    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 num = Integer.parseInt(br.readLine());
        HashMap<Integer,Integer> number = new HashMap<>();

        for(int i = 0; i<num; i++){
            int input = Integer.parseInt(br.readLine());
            int push = 1;

            if(number.containsKey(input)){
                push = number.get(input)+1;
            }

            number.put(input,push);
        }

        TreeMap<Integer,Integer> sortednum = new TreeMap<>(number);
        ArrayList<Integer> xs = new ArrayList<>(sortednum.keySet());

        for(int i = 0; i<sortednum.size(); i++){
            for(int j = 0; j<sortednum.get(xs.get(i)); j++){
                bw.write(xs.get(i)+"\n");
            }
        }

        bw.close();
    }
}