새소식

반응형
250x250
Baekjoon/Bronze

[백준] 정렬 - 2750_수 정렬하기 Java[자바]

  • -
728x90
반응형

 

이번 문제는 N의 범위가 1000까지이므로 버블정렬을 사용해도 된다.

 

시간 복잡도가 O(n2)이어도 1,000,000이기에 상관이 없다.

 

버블정렬은 인접한 값을 비교한 후 정렬을 하는 방식으로 교환이 매우 자주 일어난다.

 

따라서 N의 범위가 크면 사용하기 어려운 알고리즘이다.

 

아래 코드를 보자.

 

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int N = Integer.parseInt(br.readLine());
        int[] numArr = new int[N];
        for(int i = 0; i < N; i++) {
            numArr[i] = Integer.parseInt(br.readLine());
        }
        for(int i = 0; i < N; i++) {
            for(int j = 0; j < N - 1; j++) {
                int temp = 0;
                if(numArr[j] > numArr[j + 1]) {
                    temp = numArr[j];
                    numArr[j] = numArr[j + 1];
                    numArr[j + 1] = temp;
                }
            }
        }
        for(int i = 0; i < N; i++) {
            sb.append(numArr[i] + "\n");
        }
        System.out.println(sb);
    }
}
728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.