좋은질문

C# 모든 경우의수 조합 출력-알고리즘

JustineBaek 2014. 9. 7. 09:17

 

 

 

 

입력받은 숫자들을 한번씩만 조합하여 출력하는 방법을 알고 싶어 질문드립니다


예를 들어 
{1,2,3}
이렇게 입력 받으면 

1
12
123
13
2
23
3

이렇게 출력 할수 있는 방법 알고리즘 좀 알려주세요 
언어 상관없이 알고리즘만 알려주셔도 감사합니다.

 

 

 

 

 

안녕하세요?

 

1. 제가 생각해 본 로직은 이렇습니다.

 

   -. { 1, 2, 3, 4, 5 } 다섯개의 요소인 경우를 예로 설명합니다.

   -. 우선, 숫자의 조합을 쪼개어 다섯개의 트리군으로 구성합니다.

   -. 각 트리마다 근노드에서 출발하여, 요소 개수별로 방문하는 경로를 각각 누적합니다.

   -. 이렇게 하면, 모든 조합을 구할 수 있습니다.

 

2. 이를 도식으로 설명하면, 아래와 같습니다.

 

  

 

 

 

해결에 도움이 되시길 바랍니다.

감사합니다.

 

 

 

written by

  

legend

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C과외/C#과외/VB과외 프로그래밍 과외.서울인천경기-방문강의.기타전국-화상강의.제대로 체계적으로 배우고싶은분들.15년경력 프리랜서.삼성/포스코/한진 등.

서울,인천,경기,분당,일산,과천,산본,부천,부평,평촌,안산,안양,광명,용인,시흥,성남,수원,평택,오산,화성,동탄,천안,아산,

c#프로그래밍1:1과외, 15년 이상 프로젝트 경력의 프리랜서 직접 강의,

c#프로그래밍 과외, c#프로그래밍교육, IT·컴퓨터·컴퓨터과외비·프로그래밍과외, c# 강좌, c# 프로그래밍,

데이터베이스, 데이터베이스 프로그래밍, db, DB, 과외비,컴퓨터1:1,컴퓨터개인지도,컴퓨터실무과외,컴퓨터과외,컴퓨터1:1과외,

서울,인천,경기,부천,안산,분당,일산,천안,과천,산본,안양,광명,평촌,수원,평택,오산,용인,부평,시흥,성남,화성,동탄

광주,부산,대구,대전,마산,창원,울산,전주,군산,원주,강릉,충청남도,충청북도,강원도,경상남도,경상북도,전라남도,전라북도,제주도