public class SelectionSort {
public static void selectionSort(int[] arr) {
int n = arr.length; // 배열의 길이를 구합니다.
// i는 배열의 첫 번째 원소부터 마지막 바로 전 원소까지 반복합니다.
for (int i = 0; i < n - 1; i++) {
int minIdx = i; // 현재까지 가장 작은 값을 가진 원소의 인덱스를 저장합니다.
// i 다음 원소부터 마지막 원소까지 반복합니다.
for (int j = i + 1; j < n; j++) {
// 현재까지 가장 작은 값보다 더 작은 값을 가진 원소가 있다면,
// 그 원소의 인덱스를 minIdx에 저장합니다.
if (arr[j] < arr[minIdx]) {
minIdx = j;
}
}
// 가장 작은 값을 가진 원소를 현재 위치의 원소와 교체합니다.
int temp = arr[minIdx];
arr[minIdx] = arr[i];
arr[i] = temp;
}
}
public static void main(String[] args) {
int[] arr = {5, 2, 9, 1, 5, 6};
// 선택 정렬 알고리즘을 사용해 배열을 정렬합니다.
selectionSort(arr);
// 정렬된 배열을 출력합니다.
for (int i : arr) {
System.out.print(i + " ");
}
}
}
'코딩테스트 예제' 카테고리의 다른 글
프로그래머스 배열의 평균값 구하기 (0) | 2023.04.16 |
---|---|
프로그래머스 피자나눠먹기3 (0) | 2023.04.15 |
프로그래머스 피자나눠먹기2 예제 (0) | 2023.04.15 |
프로그래머스 피자나눠먹기1 예제 (0) | 2023.04.15 |
가벼운 코딩 테스트 (0) | 2023.04.15 |