C#에서 문자열을 회전하는 것은 Substring() 메서드를 활용하면 간단하게 구현할 수 있습니다. 이 글에서는 문자열의 일부 문자를 앞뒤로 이동시켜 회전하는 방법을 예제와 함께 살펴보겠습니다.
문자열 준비하기
먼저 회전시킬 문자열을 하나 정의합니다.
var str = "welcome";
Substring()으로 문자열 회전하기
문자열의 일부 문자만 회전시키고 싶다면 Substring() 메서드를 사용하면 됩니다. 아래 예제에서는 앞의 2개 문자를 뒤로 보내는 회전을 수행합니다.
Substring(1, str.Length - 1)은 인덱스 1부터 나머지 전체 문자를 가져오고, Substring(0, 2)는 맨 앞의 2개 문자를 추출하여 뒤에 붙이는 방식입니다.
var res = str.Substring(1, str.Length - 1) + str.Substring(0, 2);
전체 코드
다음은 위 내용을 모두 포함한 완전한 코드입니다.
예제
using System;
public class Program {
public static void Main() {
var str = "welcome";
Console.WriteLine("원본 문자열 = " + str);
var res = str.Substring(1, str.Length - 1) + str.Substring(0, 2);
Console.WriteLine("두 문자를 회전한 결과: " + res);
}
}실행 결과
원본 문자열 = welcome 두 문자를 회전한 결과: elcomewe
동작 원리 정리
위 코드가 실행되는 과정을 단계별로 살펴보면 다음과 같습니다.
1. str.Substring(1, str.Length - 1) → 인덱스 1부터 시작하여 길이가 6인 부분 문자열 "elcome"을 반환합니다.
2. str.Substring(0, 2) → 인덱스 0부터 2개의 문자, 즉 "we"를 반환합니다.
3. 두 문자열을 연결하면 "elcomewe"가 되어, 앞의 두 문자가 뒤로 이동한 회전 결과를 얻을 수 있습니다.
이처럼 Substring() 메서드를 조합하면 별도의 복잡한 알고리즘 없이도 원하는 만큼의 문자를 손쉽게 회전시킬 수 있습니다. 회전할 문자 수를 변수로 바꾸면 n칸 회전도 동일한 방식으로 구현할 수 있습니다.