소감 ¶
2005/02/19 Accepted 0:00.002 64
ASCII 코드를 이용하여 소문자를 0~26의 숫자로 인코딩시켰다. 그 인코딩 숫자를 이용한 배열을 만들어서 그 배열끼리 비교를 해서 공통된 변경 문자열을 쉽게 만들수 있었다.
ASCII 코드를 이용하여 소문자를 0~26의 숫자로 인코딩시켰다. 그 인코딩 숫자를 이용한 배열을 만들어서 그 배열끼리 비교를 해서 공통된 변경 문자열을 쉽게 만들수 있었다.
코드 ¶
~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;
}










