C#에서는 ToCharArray() 메서드와 Array.Reverse() 메서드를 활용하면 문자열을 손쉽게 역순으로 뒤집을 수 있습니다. 이 글에서는 기본 원리부터 완성된 예제 코드까지 단계별로 살펴보겠습니다.
1단계: 문자열을 문자 배열로 변환
먼저 문자열 변수를 선언한 뒤, ToCharArray() 메서드를 사용해 이를 문자 배열(char 배열)로 변환합니다.
string str = "Amit"; char[] arr = str.ToCharArray();
ToCharArray()는 문자열의 각 문자를 개별 요소로 갖는 char 배열을 반환하므로, 배열 단위의 조작(정렬, 반전 등)이 가능해집니다.
2단계: Array.Reverse()로 문자열 뒤집기
이제 Array.Reverse() 메서드를 호출하면 배열의 요소 순서가 거꾸로 변경됩니다.
Array.Reverse(arr);
배열이 뒤집힌 후에는 new string(arr) 생성자를 사용해 다시 하나의 문자열로 합칠 수 있습니다.
전체 예제 코드
아래는 지금까지 설명한 내용을 모두 포함한 완성된 코드입니다.
using System;
using System.Linq;
using System.IO;
class Program {
static void Main() {
string str = "Amit";
char[] arr = str.ToCharArray();
Console.WriteLine("원본 문자열: " + str);
// 문자열 뒤집기
Array.Reverse(arr);
Console.WriteLine("뒤집은 문자열: " + new string(arr));
}
}
실행 결과
원본 문자열: Amit 뒤집은 문자열: timA
참고: LINQ를 활용한 대안 방법
System.Linq 네임스페이스를 사용 중이라면, 다음과 같이 한 줄로도 문자열을 뒤집을 수 있습니다.
string reversed = new string(str.Reverse().ToArray());
두 방법 모두 결과는 동일하지만, Array.Reverse()는 제자리(in-place)에서 배열을 수정하는 반면 LINQ 방식은 새로운 시퀀스를 생성한다는 차이가 있습니다. 짧은 문자열이라면 성능 차이는 미미하므로 코드 가독성에 따라 선택하면 됩니다.