본문 바로가기
개발/코드

코드) 모든 조합의 경우의 수 구하기

by 테샤르 2021. 12. 23.

 모든 조합의 경우의 수 구하기

 

먼저 문자열의 첫 문자를 기준으로 1~N개의 문자들을 이용 가능한 모든 조합을 구하고

계속해서 첫 문자를 제외하고 다음 문자를 기준으로 2~N 문자들을 이용 가능한 모든 조합을 구한다. 이러한 방식으로 계속 재귀(Recursive)를 이용하여 조합을 구하면 전체 문자 조합을 구할 수 있다.

 

예시의 ABC를 입력하게 되면 결과값은 다음과 같다.

반응형
public void RunTest()
{
    StringBuilder sb = new StringBuilder();
    StringCombination("ABC", sb, 0);
}

void StringCombination(string s, StringBuilder sb, int index)
{
    for (int i = index; i < s.Length; i++)
    {
        // 1) 한 문자 추가
        sb.Append(s[i]);

        // 2) 구한 문자조합 출력
        Console.WriteLine(sb.ToString());

        // 3) 나머지 문자들에 대한 조합 구하기
        StringCombination(s, sb, i + 1);

        // 위의 1에서 추가한 문자 삭제 
        sb.Remove(sb.Length - 1, 1);
    }
}


원본 출처 : [링크]

 

C# 프로그래밍 배우기 (Learn C# Programming)

 

www.csharpstudy.com

 

 

★☆☆☆☆

 

반응형

댓글