본문 바로가기
알고리즘/JAVA

1. 선택 정렬

by vivi 2021. 9. 23.
import java.util.*;

class Main {

	public int getMinIndex(int start, int[] arr) {
		int index = 0;
		int min = Integer.MAX_VALUE;
		for (int i = start; i < arr.length; i++) {
			if (arr[i] < min) {
				index = i;
				min = arr[i];
			}
		}
		return index;
	}

	public int[] solution(int N, int[] arr) {
		for (int i = 0; i < N; i++) {
			int temp = arr[i];
			int index = getMinIndex(i, arr);
			arr[i] = arr[index];
			arr[index] = temp;
		}
		return arr;
	}

	public static void main(String[] args) {
		Main T = new Main();
		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();
		for (int x : T.solution(N, arr))
			System.out.print(x + " ");
		kb.close();
	}
}

 

import java.util.*;

class Main {
	public int[] solution(int N, int[] arr) {
		for (int i = 0; i < N - 1; i++) {
			int idx = i;
			for (int j = i + 1; j < N; j++) {
				if (arr[j] < arr[idx])
					idx = j;
			}
			int tmp = arr[i];
			arr[i] = arr[idx];
			arr[idx] = tmp;
		}
		return arr;
	}

	public static void main(String[] args) {
		Main T = new Main();
		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();
		for (int x : T.solution(N, arr))
			System.out.print(x + " ");
		kb.close();
	}
}

 

'알고리즘 > JAVA' 카테고리의 다른 글

3. 삽입 정렬  (0) 2021.09.24
2. 버블 정렬  (0) 2021.09.23
8. 응급실  (0) 2021.09.23
7. 교육과정 설계  (0) 2021.09.23
6. 공주 구하기  (0) 2021.09.23

댓글