본문 바로가기
Develop/Coding Test | Algorithm

[백준] JAVA 풀이 - 10989 : 수 정렬하기 3

by 코젼 2024. 3. 14.
728x90
반응형

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

 

10989번: 수 정렬하기 3

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

www.acmicpc.net

 

▶️ 풀이

처음에는 시간 초과로 못 풀었었는데 인덱스 활용StringBuilder를 적절하게 활용하여 문제 해결

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        int[] arr = new int[10001];

        for (int i=0; i<N; i++) arr[Integer.parseInt(br.readLine())]++;
        for (int i=0; i<10001; i++) {
            while (arr[i] > 0) {
                sb.append(i).append("\n");
                arr[i]--;
            }
        }
        System.out.println(sb);
    }
}
728x90
반응형

댓글