Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 문자열을 뒤집는 프로그램 만들기: 단계별 가이드

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());

짧은 문자열에는 어떤 방법이든 충분하지만, 성능이 중요한 경우에는 문자 연결 대신 StringBuilderArray.Reverse를 사용하는 것이 효율적입니다.