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

C#으로 문자열 내 각 문자의 발생 횟수 계산하는 방법

개요

C#에서는 반복문과 Replace() 메서드를 활용하면 문자열에 포함된 각 문자가 몇 번 나타나는지 손쉽게 계산할 수 있습니다. 이 글에서는 기본적인 알고리즘 흐름과 함께 전체 예제 코드 및 실행 결과까지 단계별로 살펴보겠습니다.

알고리즘 설명

먼저 대상이 되는 문자열을 설정합니다.

string str = "Website";
Console.WriteLine("String: "+str);

그다음 문자열의 첫 번째 문자를 기준으로 삼아, 문자열 전체를 순회하면서 같은 문자가 등장할 때마다 카운트 변수를 증가시킵니다.

for (int j = 0; j < str.Length; j++) {
    if (str[0] == str[j]) {
        cal++;
    }
}

카운트가 끝나면 해당 문자를 문자열에서 모두 제거하고, 문자열이 빌 때까지 이 과정을 반복하면 각 문자별 발생 횟수를 모두 구할 수 있습니다.

전체 예제 코드

다음 코드를 실행하면 각 문자의 발생 횟수를 직접 확인할 수 있습니다.

using System;
public class Demo {
    public static void Main() {
        string str = "Website";
        Console.WriteLine("String: "+str);
        while (str.Length > 0) {
            Console.Write(str[0] + " = ");
            int cal = 0;
            for (int j = 0; j < str.Length; j++) {
                if (str[0] == str[j]) {
                    cal++;
                }
            }
            Console.WriteLine(cal);
            str = str.Replace(str[0].ToString(), string.Empty);
        }
        Console.ReadLine();
    }
}

실행 결과

String: Website
W = 1
e = 2
b = 1
s = 1
i = 1
t = 1

코드 동작 원리

while 루프: 문자열이 비어 있지 않은 동안 반복을 계속합니다.

str[0]: 현재 문자열의 첫 번째 문자를 기준 문자로 사용합니다.

Replace() 메서드: 기준 문자를 문자열에서 모두 제거하여, 이미 처리한 문자가 다시 카운트되지 않도록 합니다.

이 방식은 구현이 간단하고 직관적이라는 장점이 있으며, 문자열 처리 로직을 학습하는 데 유용한 기본 예제로 활용됩니다.