C# 문자열 뒤집기 개요
C#에서 문자열을 뒤집는 것은 문자열 처리의 기본적인 작업 중 하나입니다. 이 글에서는 while 루프를 활용하여 문자열을 역순으로 변환하는 방법을 단계별로 살펴보겠습니다.
문자열 뒤집기 단계
먼저 예제로 사용할 문자열은 다음과 같습니다.
myStr = "Tom";
문자열을 뒤집으려면 첫 번째로 문자열의 길이를 구해야 합니다.
// 문자열 길이 구하기 int len; len = myStr.Length - 1;
여기서 Length 값에서 1을 빼는 이유는 문자열 인덱스가 0부터 시작하기 때문입니다. 즉, 마지막 문자에 접근하려면 전체 길이에서 1을 뺀 값을 사용해야 합니다.
이제 while 루프를 사용하여 인덱스가 0 이상일 때까지 문자열의 끝에서부터 앞으로 한 글자씩 새로운 변수에 추가합니다.
while (len >= 0) {
rev = rev + myStr[len];
len--;
}전체 예제 코드
다음 전체 코드를 실행하면 C#에서 문자열을 뒤집는 과정을 직접 확인할 수 있습니다.
using System;
class Demo {
static void Main() {
string myStr, rev;
myStr = "Tom";
rev = "";
Console.WriteLine("String is {0}", myStr);
// 문자열 길이 구하기
int len;
len = myStr.Length - 1;
while (len >= 0) {
rev = rev + myStr[len];
len--;
}
Console.WriteLine("Reversed String is {0}", rev);
Console.ReadLine();
}
}실행 결과
String is Tom Reversed String is moT
동작 원리 정리
위 코드의 핵심 로직은 다음과 같습니다.
1. 길이 계산: myStr.Length - 1로 마지막 문자의 인덱스를 구합니다.
2. 역순 순회: while 루프에서 인덱스를 하나씩 감소시키며 뒤에서부터 문자를 읽습니다.
3. 새 문자열 생성: 읽어낸 문자를 rev 변수에 차례대로 이어 붙여 최종적으로 뒤집힌 문자열을 완성합니다.
참고: 다른 뒤집기 방법
while 루프 외에도 C#에서는 간단하게 문자열을 뒤집을 수 있는 방법들이 있습니다.
Array.Reverse 활용
char[] arr = myStr.ToCharArray(); Array.Reverse(arr); string rev = new string(arr);
LINQ 활용
string rev = new string(myStr.Reverse().ToArray());
짧은 문자열에는 어떤 방법이든 충분하지만, 성능이 중요한 경우에는 문자 연결 대신 StringBuilder나 Array.Reverse를 사용하는 것이 효율적입니다.