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

C#을 사용하여 문자열에서 가장 많이 발생하는 문자를 얻는 방법은 무엇입니까?

<시간/>

문자열에서 가장 많이 발생하는 문자는 가장 많이 발생하는 문자입니다. 이것은 다음 예를 사용하여 증명할 수 있습니다.

String: apples are red
The highest occurring character in the above string is e as it occurs 3 times, which is more than the occurrence of any other character.

C#을 사용하여 문자열에서 가장 많이 발생하는 문자를 구하는 프로그램은 다음과 같습니다.

예시

using System;
namespace charCountDemo {
   public class Example {
      public static void Main() {
         String str = "abracadabra";
         int []charCount = new int[256];
         int length = str.Length;
         for (int i = 0; i < length; i++) {
            charCount[str[i]]++;
         }
         int maxCount = -1;
         char character = ' ';
         for (int i = 0; i < length; i++) {
            if (maxCount < charCount[str[i]]) {
               maxCount = charCount[str[i]];
               character = str[i];
            }
         }
         Console.WriteLine("The string is: " + str);
         Console.WriteLine("The highest occurring character in the above string is: " + character);
         Console.WriteLine("Number of times this character occurs: " + maxCount);
      }
   }
}

출력

위 프로그램의 출력은 다음과 같습니다.

The string is: abracadabra
The highest occurring character in the above string is: a
Number of times this character occurs: 5

이제 위의 프로그램을 이해해보자.

문자열 str은 abracadabra입니다. 크기가 256이고 ASCII 테이블의 모든 문자를 표시하는 새 배열 charCount가 생성됩니다. 그런 다음 문자열 str은 for 루프를 사용하여 탐색되고 charCount의 값은 문자열의 문자에 따라 증가합니다. 이는 다음 코드 스니펫에서 확인할 수 있습니다.

String str = "abracadabra";
int []charCount = new int[256];
int length = str.Length;
for (int i = 0; i < length; i++) {
   charCount[str[i]]++;
}

정수 maxCount는 최대 개수를 저장하고 문자는 최대 횟수로 발생하는 char 값입니다. for 루프를 사용하여 maxCount 및 문자 값을 결정할 수 있습니다. 이는 다음 코드 스니펫에서 확인할 수 있습니다.

int maxCount = -1;
char character = ' ';
for (int i = 0; i < length; i++) {
   if (maxCount < charCount[str[i]]) {
      maxCount = charCount[str[i]];
      character = str[i];
   }
}

마지막으로 str, maxCount 및 character 값이 표시됩니다. 이는 다음 코드 스니펫에서 확인할 수 있습니다.

Console.WriteLine("The string is: " + str);
Console.WriteLine("The highest occurring character in the above string is: " + character);
Console.WriteLine("Number of times this character occurs: " + maxCount);