~cpp // no10252 - Common Permutation #include <iostream> #include <cstring> using namespace std; const int MAX = 1000; int main() { char str[MAX+1]; int first[26], second[26]; int len, min, count; int i, j; while (cin.getline(str, MAX+1, '\n')) { /* 입력 */ for (i=0; i<26; i++) first[i] = second[i] = 0; len = strlen(str); for (i=0; i<len; i++) first[str[i]-97]++; cin.getline(str, MAX+1, '\n'); len = strlen(str); for (i=0; i<len; i++) second[str[i]-97]++; /* 변경 문자열 찾기 */ count = 0; for (i=0; i<26; i++) { if (first[i] == 0 || second[i] == 0) continue; if (first[i] < second[i]) min = first[i]; else min = second[i]; for (j=0; j<min; j++) str[count++] = i + 97; } str[count] = '\0'; cout << str << endl; } return 0; }