C#에서 회문 문자열 확인
이 튜토리얼에서는 문자열이 C#에서 회문인지 확인하는 방법을 소개합니다.
C#에서String.Substring()
메서드를 사용하여 회문 문자열 확인
문자열이 앞뒤로 동일하게 읽 히면 회문으로 간주됩니다. 불행히도 C#에서는 문자열이 회문인지 여부를 확인하는 기본 제공 방법이 없습니다. 그러나 String.Substring()
메소드를 사용하여 문자열을 중간에서 분리하여 전반을 얻을 수 있습니다. 문자열을 문자 배열로 변환하고Array.Reverse()
메서드를 사용하여 문자 시퀀스를 반전하고 반전 배열을 문자열로 변환 한 다음 새 문자열을 String.Substring()
메소드를 사용하여 중간. 전반이 후반의 반대와 같으면 문자열은 회문입니다. 전반부가 후반과 같지 않으면 문자열은 회문이 아닙니다. 다음 코드 예제는 C#의String.Substring()
메서드를 사용하여 문자열이 회문인지 여부를 확인하는 방법을 보여줍니다.
using System;
using System.Linq;
namespace palindrome {
class Program {
public static bool checkPalindrome(string mainString) {
string firstHalf = mainString.Substring(0, mainString.Length / 2);
char[] arr = mainString.ToCharArray();
Array.Reverse(arr);
string temp = new string(arr);
string secondHalf = temp.Substring(0, temp.Length / 2);
return firstHalf.Equals(secondHalf);
}
static void Main(string[] args) {
bool palindrome = checkPalindrome("12321");
Console.WriteLine(palindrome);
}
}
}
출력:
True
위 코드에서 C#의String.Substring()
메소드를 사용하여 문자열12321
이 회문인지 여부를 확인했습니다.
C#에서 LINQ 메서드를 사용하여 회문 문자열 확인
LINQ 내부의 SequenceEqual()
메서드는 C#의 두 요소 시퀀스를 비교합니다. LINQ 내부의Reverse()
메서드는 C#의 시퀀스 요소를 반전합니다. Reverse()
메소드를 사용하여 문자열을 반전하고SequenceEqual()
메소드를 사용하여 원래 문자열과 비교할 수 있습니다. 다음 코드 예제는 C#의 LINQ 메서드를 사용하여 문자열이 회문인지 여부를 확인하는 방법을 보여줍니다.
using System;
using System.Linq;
namespace palindrome {
class Program {
public static bool checkPalindrome2(string mainString) {
return mainString.SequenceEqual(mainString.Reverse());
}
static void Main(string[] args) {
bool palindrome = checkPalindrome2("12321");
Console.WriteLine(palindrome);
}
}
}
출력:
True
위 코드에서 C#의SequenceEqual()
및Reverse()
메소드를 사용하여12321
문자열이 회문인지 여부를 확인했습니다. 이 접근 방식은 더 간단하기 때문에 이전 접근 방식보다 선호됩니다.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn