List<int> list = new List<int> { 2, -1, 9, 5, 0 };
//list 오름차순 진행.
list.Sort();
foreach (var item in list)
{
Debug.Log(item);
}
//출력값을 구분해주기 위한 코드.
Debug.Log("---------------");
int[] arr = { 2, -1, 9, 5, 0 };
//arr 오름차순 진행
Array.Sort(arr);
foreach (var item in arr)
{
Debug.Log(item);
}
2. OrderBy/ThenBy
OrderBy와 ThenBy는 using System.Linq;를 네임스페이스에 써줘야 사용가능합니다.
OrderBy는 기본적으로 ascending(오름차순)이며, 내림차순을 하고 싶으면 Descending을 사용하면 됩니다.
ThenBy는 OrderBy를 진행한 후 그 값을 기준으로 오름 또는 내림 차순을 진행하는 매서드입니다.
저는 프로그래머스의 "특이한 정렬"문제를 단순 Sort()만으로는 코드가 복잡해져서 OrderBy로 좀 더 심플하게 풀이한 적이 있습니다.
다음은 프로그래머스 "특이한 정렬"문제 및 풀이코드입니다.
정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요.