알고리즘/문자열, 정렬

[알고리즘] 버블 정렬 with Java

VIPeveloper 2022. 3. 25. 23:18
728x90
반응형
2. 버블 정렬
 

설명

N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요.

정렬하는 방법은 버블정렬입니다.

입력

첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다.

두 번째 줄에 N개의 자연수가 공백을 사이에 두고 입력됩니다. 각 자연수는 정수형 범위 안에 있습니다.

출력

오름차순으로 정렬된 수열을 출력합니다.

예시 입력 1 

6
13 5 11 7 23 15

예시 출력 1

5 7 11 13 15 23

 

알고리즘에 약간 느슨해진 느낌이다. 다시 쪼이기 레츠고!

 

오늘 배운 것

1. 버블 정렬

. 간단하게 변경만 해주면 되는 작업이다. 뒤에서부터 하나씩 채워가며 제일 큰 것을 쌓아준다.

2. 문제 풀이

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        int N = kb.nextInt();
        int [] arr = new int [N];
        for (int i = 0; i < N; i++) {
            arr[i] = kb.nextInt();
        }
        solution(arr);

    }

    private static void solution(int[] arr) {
        for (int i = 1; i < arr.length; i++) {
            for (int j = 0; j < arr.length-i; j++) {
                if(arr[j] > arr[j+1]){
                    int tmp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tmp;
                }
            }
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+ " ");
        }
    }
}

 

728x90
반응형