개요
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() 메서드: 기준 문자를 문자열에서 모두 제거하여, 이미 처리한 문자가 다시 카운트되지 않도록 합니다.
이 방식은 구현이 간단하고 직관적이라는 장점이 있으며, 문자열 처리 로직을 학습하는 데 유용한 기본 예제로 활용됩니다.