백준(Java)

백준 2750번 '수 정렬하기' (자바/JAVA)

심층코드 2025. 4. 29. 07:37

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

예제 입력 1 

5
5
2
3
4
1

예제 출력 1 

1
2
3
4
5

 

코드

import java.util.*;
import java.io.*;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int S[] = new int[n];

        for (int i = 0; i < n; i++) {
            S[i] = sc.nextInt();
        }

        Arrays.sort(S);

        for (int i = 0; i < n; i++) {
            System.out.println(S[i]);
        }
        sc.close();
    }
}

코드지식

Java에서는 java.util.Arrays 클래스의 sort() 메서드를 제공하여 배열을 간편하게 오름차순으로 정렬할 수 있습니다.

int S[] = new int[n]; // int 배열 사용

Arrays.sort(S);  // 오름차순 정렬

 

Java에서 Arrays.sort() 메서드와 Collections.reverseOrder()를 함께 사용하여 내림차순으로 정렬하려면 배열의 타입이 기본 자료형(int, double 등)이 아닌 래퍼(Wrapper) 클래스(Integer, Double 등) 이어야 합니다.

Integer S[] = new Integer[n]; // Integer 배열 사용 (null 허용)

Arrays.sort(S, Collections.reverseOrder()); // 내림차순 정렬