본문 바로가기
자바 알고리즘/백준

백준 10989

by hoshi03 2024. 1. 29.

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

 

10989번: 수 정렬하기 3

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

www.acmicpc.net

 

10000 이하로 들어오니 1~ 10000까지 숫자를 담을 배열을 담고 그 숫자가 몇개인지 출력하는 방식으로 코드를 작성

시간초과..

 

입출력을 BufferWriter, BufferReader로 처리하면 풀 수 있었다

 

import java.io.*;
import java.lang.reflect.Array;
import java.util.*;


public class Main {

    public static void solution(int[] arr) throws IOException {
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int[] res = new int[10001];

        for (int i =0; i < arr.length; i++){
            res[arr[i]]++;
        }

        for (int i = 1; i < res.length; i++) {
            while (res[i]-- > 0){
                bw.write(i + "\n");
            }
        }
        bw.flush();
    }

    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());
        int[] arr= new int[n];
        for (int i = 0; i < n; i++) arr[i] = Integer.parseInt(br.readLine());
        solution(arr);
    }
}

 

'자바 알고리즘 > 백준' 카테고리의 다른 글

7785 회사에 있는 사람  (0) 2024.03.08
1181 단어정렬  (0) 2024.03.07
백준 2817  (1) 2024.02.16
백준 11005 진법 변환 2  (1) 2024.01.31
백준 1543  (0) 2024.01.24