모든 조합의 경우의 수 구하기
먼저 문자열의 첫 문자를 기준으로 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);
}
}
원본 출처 : [링크]
★☆☆☆☆
반응형
'개발 > 코드' 카테고리의 다른 글
Unity) 달력 만들기 코드 (Make Calendar) (0) | 2022.02.03 |
---|---|
Unity) 값 변경시 상시 변경(Value Change Action) (0) | 2022.01.20 |
Unity)코드) Camera View 안에 있는 Object 구분하기 (0) | 2021.05.11 |
코드) Switch Value 조건 범위 설정 (0) | 2021.03.16 |
코드)정규식(Regex) 예제 (1) | 2021.03.12 |
댓글