본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 1427 소트인사이드

by 까망 하르방 2021. 2. 24.
반응형

출처:  https://www.acmicpc.net/problem/1427

 Input 
2143

 Output 

4321

자릿수를 정렬하는 것이므로 0』 9에 해당하는 숫자를 정렬합니다.

버블정렬 이용 

내림차순이므로 배열의 끝자리부터 정렬의 낮은 숫자가 배치되는 형태입니다.

 

 

버블 정렬(Bubble Sort)

특징 - O(N2) - 서로 인접한 두 원소를 비교하여 정렬 - 한 번의 탐색으로 가장 큰 원소가 맨 뒤에 위치하게 됩니다. (오름차순 기준) 시뮬레이션 구현 코드 (오름차순 기준) #include int swap(int* a, int* b

zoosso.tistory.com


import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        int [] arr = new int[str.length()];
         
         
        for(int i = 0; i < str.length(); i++) {
            arr[i] = Character.getNumericValue(str.charAt(i));
        }
         
        bubbleSort(arr);
         
        for(int i = 0; i < str.length(); i++) {
            System.out.print(arr[i]);
        }  
    }
 
    private static void bubbleSort(int[] arr) {
        for(int i=arr.length-1; i>0; i--) {
            for(int j = 0; j < i; j++) {
                if(arr[j] < arr[j+1]) {
                    swap(arr, j, j+1);    
                }
            }
        }
    }
 
    private static void swap(int[] arr, int x, int y) {
        int temp = arr[x];
        arr[x] = arr[y];
        arr[y] = temp;
    }
}

 

반응형

댓글