코딩테스트
[코드트리 조별과제] 선택 정렬 구현
버피코
2024. 8. 1. 21:33
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
문제
풀이과정
- 최솟값 인덱스를 선택한다.
- 최솟값 인덱스와 최솟값 인덱스 다음 인덱스의 값을 비교해서, 최솟값 인덱스를 가진 배열의 크기가 더 크다면, 최솟값 인덱스 다음 값을 최솟값 인덱스로 재지정한다.
- 이후 자리를 바꾸어준다.
나의 풀이
import java.util.*;
public class Main {
public static int size;
public static int[] arr;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
size = sc.nextInt();
arr = new int[size];
for(int i = 0; i < size; i++){
arr[i] = sc.nextInt();
}
selectionSort();
for(int i = 0; i < size ; i++){
System.out.print(arr[i] + " ");
}
}
public static void selectionSort(){
for(int i = 0; i < size; i++){
int minIndex = i; //최솟값 인덱스
for(int j = i+1; j < size; j++){
if(arr[minIndex] > arr[j]){
minIndex = j;
}
}
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}