반응형
#include <iostream>
#include <string>
using namespace std;
string abc;
char path[5];
int used[5];
void rank_all(int lev, int start, int n) {
if (lev == 3) {
cout << path << endl;
return;
}
for (int i = start; i < n;i++) {
path[lev] = abc[i];
rank_all(lev + 1, i, n);
path[lev] = 0;
}
}
int main() {
cin >> abc;
int len = abc.length();
rank_all(0, 0, len);
return 0;
}
입력 예제
ABCD
출력 결과
AAA AAB AAC AAD ABB ABC ABD ACC ACD ADD BBB BBC BBD BCC BCD BDD CCC CCD CDD DDD
다 같은데
ABCD뿐만 아니라 ABCDE같이 더 올 경우도 고려했어야.
따라서 char abc[4]=> string 자료형으로 바꿔주고
length()도 함수 매개변수에 넣어줌
반응형
'C언어 > 문제풀다 하나씩' 카테고리의 다른 글
동전 개수 세기 (0) | 2020.05.27 |
---|---|
다른 블로그 참고한 조합 재귀방법 0자리를 비우고 for 문 안 씀 (0) | 2020.05.27 |
더 직관적인 char int 바꾸기 (0) | 2020.05.27 |
가장 큰 숫자 작은 숫자 찾기. 비효율적임 (0) | 2020.05.27 |
오랜만에 간단한 순열 문제 (0) | 2020.05.27 |
흠 start = mid는 에러나는 군 (0) | 2020.05.23 |
상처 길이 찾기 문제 (0) | 2020.05.23 |
이중배열에서 binary search 해보기 (0) | 2020.05.23 |