문자열 정렬하기
알고리즘을 풀 거나한 몇몇 상황에서 문자열 정렬이 필요한데, 알아두면 유용하게 사용이 가능하다.
최근 알고리즘 문제에서 문자열 정렬만 하면 되는데 갑자기 버블 정렬을 하고 있는 나를 발견할 수 있었다.
우선 문자열을 정렬하기 위해서는 각각의 문자로 분리하여야 한다. char의 배열로 변환한 후에 정렬해준다.
public static class StringExtensions
{
public static string Sort(this String input)
{
char[] chars = input.ToCharArray();
Array.Sort(chars);
return new string(chars);
}
public static string SortDesc(this String input)
{
char[] chars = input.ToCharArray();
Array.Sort(chars, (x, y) => y.CompareTo(x));
return new string(chars);
}
}
public class Program
{
static void Main(string[] args)
{
string X = "12321";
var temp = X.Sort();
Console.WriteLine(temp); // 11223
var temp2 = X.SortDesc();
Console.WriteLine(temp2); // 32211
}
}
오름차순과 내림차순을 구분해서 별도의 확장 메서드로 구현하였다.
같이 보면 좋은 글
참고 사이트
'프로그래밍 > C#' 카테고리의 다른 글
C# 변수 캡처(Capture)에 대해서 (1) | 2024.01.23 |
---|---|
C# 볼링 점수 계산기(Bowling Score Calculator) (2) | 2024.01.19 |
C# Call by value와 Call by reference에 대해서 (0) | 2024.01.12 |
C# String은 참조 타입(Reference type)이면서 불변(Immutable)하다. (1) | 2024.01.10 |
BitConverter.ToInt16 메서드에 대해서 (1) | 2024.01.08 |
댓글