ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2751) 수 정렬하기 2 JAVA - 정렬
    백준코딩일기 2019. 12. 26. 10:06

    N 개의 수를 입력받아 오름차순으로 정렬하는 방법.

    저는 여기서 "퀵정렬" 을 이용해서 문제를 해결했습니다.

     

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    import java.io.*;
    public class Main {
     
        //퀵정렬 메소드
        public static void Quicksort(int[] data, int left, int right) {
            int pl = left;    //왼쪽 커서
            int pr = right;    //오른쪽 커서
            int pivot = data[(left+right)/2];    //피벗
            
            do {
                while(data[left] < pivot) left++;
                while(data[right] > pivot) right--;
                if(left <= right) {
                    int temp = data[left];
                    data[left] = data[right];
                    data[right] = temp;
                    left++;
                    right--;
                }
            }while(left <= right);
            
            if(left < pr) Quicksort(data, left, pr);
            if(pl < right) Quicksort(data, pl, right);
        }
        
        public static void main(String[] args) throws IOException{
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            
            int N = Integer.parseInt(br.readLine());
            int[] num = new int[N];
            
            for(int i=0; i<N; i++) {
                num[i] = Integer.parseInt(br.readLine());
            }
     
            Quicksort(num, 0, N-1);
            
            for(int i=0; i<N; i++){
                bw.write(num[i]+"\n");
            }
        }
    }
    http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
    http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

    '백준코딩일기' 카테고리의 다른 글

    1676) 팩토리얼 0의 개수 - JAVA  (0) 2020.01.15
    1158) 조세푸스 문제 - JAVA  (0) 2020.01.06
    2741) N 찍기 - JAVA  (0) 2020.01.01
    10814) 나이순 정렬 - JAVA  (0) 2019.12.29
    2193) 이친수(pinary number) JAVA - DP  (0) 2019.12.24

    댓글

Designed by Tistory.