728x90
선택정렬은 내림차순 정렬일경우 다음 인덱스의 데이터들중 가장 작은값을 현재 인덱스로 옮기는 방법
구현 방법은 조금 까다롭고, 시간 복잡도도 O(n2)으로 효율이 떨어지는 방식
대신 N 번의 루프로 N번의 데이터 순서 정렬이 확실시 된다는 점이 있다.

문제
https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
풀이
Sort(Console.ReadLine());
void Sort(string input)
{
int[] arr = new int[input.Length];
for (int i = 0; i < input.Length; i++)
{
arr[i] = int.Parse(input[i].ToString());
}
for (int i = 0; i < input.Length; i++)
{
int targetPoint = i;
for (int j = i + 1; j < input.Length; j++)
{
if (arr[targetPoint] < arr[j])
targetPoint = j;
}
if (targetPoint != i)
{
int tempValue = arr[targetPoint];
arr[targetPoint] = arr[i];
arr[i] = tempValue;
}
}
foreach (var value in arr)
{
System.Console.Write(value);
}
}
미흡한부분이나 개선될 수 있는부분이 있다면 댓글 부탁드립니다.