코딩 테스트
[코테 알고리즘] 선택(Select) 정렬
Gaejirang-e
2022. 12. 14. 18:39
선택(Select) 정렬
🕑 시간복잡도: O(N^2)
[ 비교연산횟수: N + N-1 + N-2 + ... + 1 = (N+1)N/2번 ]
[ 비교연산횟수: N + N-1 + N-2 + ... + 1 = (N+1)N/2번 ]
선택(Select) 정렬 코드 구현
<백준 알고리즘, 1427번>
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
int[] A = new int[str.length()];
for(int i = 0; i < str.length(); i++) {
A[i] = Integer.parseInt(str.substring(i, i+1));
}
for(int i = 0; i < str.length(); i++) {
int maxIdx = i;
for(int j = i+1; j < str.length(); j++) {
if(A[j] > A[maxIdx]) {
maxIdx = j;
}
}
int temp = A[i];
A[i] = A[maxIdx];
A[maxIdx] = temp;
}
for(int i = 0; i < str.length(); i++) {
System.out.print(A[i]);
}
}
}