[BOJ]백준 2750번: 수 정렬하기 1

ho's·2022년 5월 7일
0

문제

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

입력 : 1번째 줄에 수의 개수 N(1<= N <= 1,000), 2번째 줄부터 N개의 줄에 숫자가 주어진다.
이 수는 절대값이 1,000보다 작거나 같은 정수다. 수는 중복되지 않는다.

출력
1번째 줄부터 N개의 줄에 오름차순 정렬한 결과를 1줄에 1개씩 출력한다.

풀이

sort()를 이용해 쉽게 정렬할 수 있지만, 정렬을 직접 구현해보자!

  • N의 최대 범위가 1,000으로 매우 작기 때문에, O(N^2) 시간 복잡도 알고리즘을 가지고 풀 수 있다.

소스코드

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

public class Baekjoon_2750 {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int number = Integer.parseInt(br.readLine());
        int[] A = new int[number];

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

        for(int i=0;i<number-1;i++){
            for(int j=0;j<number-1-i;j++){
                if(A[j] > A[j+1]){
                    int temp = A[j];
                    A[j] = A[j+1];
                    A[j+1] = temp;
                }


            }

         }

        for(int i=0;i<number;i++)
            System.out.println(A[i]);



    }
}



profile
그래야만 한다

0개의 댓글