스트링 재조합 모든 경우 출력하기 Jaekwan 매우 긴 문자열이 주어졌다면 가능한 재조합 어떻게 구해야 하죠? 중복된 문자들이 있다면 중복처리를 해야합니다. 가령, [a,d,d] 가 있다면 add, dad, dda 만 출력해야 하는 것이지요. [a,a,a,a,b,b,c,c,d,d,d] 이런식으로 문제가 주어진다면 어떤 식으로 루프/재귀를 돌려보아야 할까요? 10년 전
2개의 댓글이 있습니다. kriii next_permutation함수를 사용하세요. #include <iostream> #include <algorithm> #include <string> using namespace std; int main() { string input = "add"; sort(input.begin(),input.end()); do{ cout << input << endl; }while (next_permutation(input.begin(),input.end())); return 0; } 10년 전 link Jaekwan 호곡 감사합니다!!!!! 10년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
Jaekwan
매우 긴 문자열이 주어졌다면 가능한 재조합 어떻게 구해야 하죠?
중복된 문자들이 있다면 중복처리를 해야합니다.
가령,
[a,d,d] 가 있다면
add,
dad,
dda
만 출력해야 하는 것이지요.
[a,a,a,a,b,b,c,c,d,d,d] 이런식으로 문제가 주어진다면 어떤 식으로 루프/재귀를 돌려보아야 할까요?
10년 전