본문 바로가기

Algorithm

[백준] 10989. 수 정렬하기 - JAVA

문제

 

 


풀이

 

카운팅 사용하기

만약, 입력 값으로 2,2,4,5,1,2,3 이라고 주어졌을 때,

입력 값이 배열의 인덱스가 되고, 카운팅 즉 1씩 더하는 것이다.

이렇게 되면 arr = { 0,1,2,1,1,1 } 이 만들어진다.

그 후 for 문을 통해 해당 배열의 크기 만큼 반복을 해주며

그 반복문 안에서 다시 반복문 즉, 이중 반복문을 통해 값을 출력해 낸다면,

1,2,2,3,4,5 라는 출력 값이 만들어 진다.

 


코드

 

import java.util.*;
import java.io.*;
public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(
            new InputStreamReader(System.in));
        PrintWriter pw = new PrintWriter(System.out);

 

        int N = Integer.parseInt(br.readLine());
        int[] arr = new int[10001];

 

        for(int i=0; i<N; i++){
            int A = Integer.parseInt(br.readLine());
            arr[A]++;
        }

 

        for(int i=1; i<10001; i++){
            for(int k=0; k<arr[i]; k++ ){
                pw.println(i);
            }
        }

 

        pw.flush();
        pw.close();
        br.close();
       
    }
}

 


GitHub