person456 2024. 1. 14. 13:29

** 정답 코드

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
45
46
47
package inflearn._6_sorting_searching;
 
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
 
public class inflearn6_1 {
    static int n,m,k;
    static StringTokenizer st;
    static StringBuilder sb; 
    public static void main(String[] args)throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        n = Integer.parseInt(br.readLine());
        int[] arr =new int[n];
        st = new StringTokenizer(br.readLine()," ");
        for(int i=0; i<n; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }
        for(int i=0; i<n; i++) {
            int min = arr[i];
            int minIndex=i;
            for(int j=i+1; j<n; j++) {
                int next = arr[j];
                if(min>next) {
                    minIndex=j;
                    min=arr[j];
                }
            }
            int tmp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex]=tmp;
        }
        sb = new StringBuilder();
        for(int i=0; i<n; i++) {
            sb.append(arr[i]+" ");
        }
        System.out.println(sb.toString());
        br.close();
        bw.close();
    }
}
 
cs

 

 

 

- 삽입정렬

- index 0~n까지 순차적으로 진행하여 각 단계별로 최소값을 찾은 후 해당 index에 삽입하는 형식으로 정렬

- 시간복잡도는 O(n²)