Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#을 사용하여 두 문자열이 서로의 아나그램인지 확인하는 방법은 무엇입니까?

<시간/>

아나그램에서 다른 문자열은 첫 번째 문자열에 있는 동일한 문자를 갖지만 문자의 순서는 다를 수 있습니다.

여기에서 우리는 다음 두 문자열을 확인하고 있습니다 -

string str1 = "silent";
string str2 = "listen";

두 문자열을 모두 문자 배열로 변환 -

char[] ch1 = str1.ToLower().ToCharArray();
char[] ch2 = str2.ToLower().ToCharArray();

이제 정렬하십시오 -

Array.Sort(ch1);
Array.Sort(ch2);

정렬 후 문자열로 변환 -

string val1 = new string(ch1);
string val2 = new string(ch2);

두 문자열이 같은지 비교합니다. 둘 다 같으면 아나그램임을 의미합니다.

다음은 코드입니다 -

using System;

public class Demo {
   public static void Main () {
      string str1 = "silent";
      string str2 = "listen";
      char[] ch1 = str1.ToLower().ToCharArray();
      char[] ch2 = str2.ToLower().ToCharArray();
      Array.Sort(ch1);
      Array.Sort(ch2);
      string val1 = new string(ch1);
      string val2 = new string(ch2);

      if (val1 == val2) {
         Console.WriteLine("Both the strings are Anagrams");
      } else {
         Console.WriteLine("Both the strings are not Anagrams");
      }
   }
}

출력

Both the strings are Anagrams