(Java) 백준 2750번 - 수 정렬하기

코딩너구리·2026년 1월 21일

코딩 문제 풀이

목록 보기
170/266

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

문제

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

접근

문제 그대로 N을 입력받고 입력받은 N개의 수들을 sort로 정렬한다.

문제해결

> 입력받을 수 의 개수 N을 입력받고 N을 크기로 가지는 정수형배열을 만든다.
> N개의 수를 입력받으며 배열에 저장한다.
> Arrays.sort()를 통해 sort에 정렬할 대상인 num을 넣어 오름차순 정렬해준다.
> Stringbuilder로 정렬된 배열의 원소를 한번에 모아서 출력한다.

코드

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

public class Main
{
    //2750번 수 정렬하기
    public static void main(String[] args) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        int[] num = new int[N];

        for(int i = 0; i < N; i++) num[i] = Integer.parseInt(br.readLine());
        Arrays.sort(num);
        StringBuilder sb = new StringBuilder();
        for(int a : num) sb.append(a).append('\n');
        System.out.print(sb);
    }
}

후기

그냥 sort()열어봤는데 아무것도 안나왔다. 그래서 전에 배열의 초기값을 채워줄 때 Arrays로 시작했었길래 Arrays.을 치고 찾아보니 sort가 있었다. 추가로 sort의 정렬기준을 직접 선언하는것도 알아봤다. sort(num, (a,b)-> a-b)이런식으로 한다고 한다. num배열에 대해 비교할 두 수 a와 b중에서 a-b가 음수면 b가 더 크다는 뜻이니까 a가 앞으로, 양수면 b가 더 작다는 뜻이므로 b가 앞으로 온다. 이건 기본 오름차순에 관한 규칙이고 내림차순은 b-a로 하면된다.

0개의 댓글