너굴 개발 일지

[Algorithm] 백준 2750. 수 정렬하기 (Java) 본문

혼자 공부,정리하는 알고리즘

[Algorithm] 백준 2750. 수 정렬하기 (Java)

너굴냥 2021. 10. 2. 19:57

[문제]

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

 

2750번: 수 정렬하기

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

www.acmicpc.net

[제출 답안]

버블 정렬을 이용해 코드를 제출하였다. 케이스 수는 최대 1000개의 수기에 버블정렬도 가능했던 것 같지만 케이스 수가 더 많았다면..

아마 시간 초과가 떴을 수도 있을 듯 하다. 다른 정렬 방법도 같이 참고하는 것이 좋을 듯 하다.

package com.bjy.pracitce;

import java.util.Scanner;

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

        int[] arr = new int[n];
        for(int i=0;i<n;i++){
            arr[i] = s.nextInt();
        }
        arr = func(arr);

        for(int a : arr){
            System.out.println(a);
        }
    }

    public static int[] func(int[] arr){
        int[] answer = arr;
        int tmp;
        for(int i=0;i<answer.length-1;i++){
            for(int j=0;j<answer.length-(i+1);j++){
                if(arr[j] > arr[j+1]){
                    tmp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tmp;
                }
            }
        }
        return answer;
    }
}

 

[참고]

버블 정렬 관련 정리한 글

https://jy-beak.tistory.com/6

 

Bubble Sort : 거품 정렬

 Bubble Sort : 버블 정렬  소개  정렬과정  구현 소개 Bubble Sort는 인접한 두 수를 비교하여 올바른 순서(오름차순 또는 내림차순)를 뒤로 보내는 간단한 정렬 알고리즘으로 각 회전(Pass)과정이 끝

jy-beak.tistory.com