Anagram이란 두 문자열이 알파벳의 나열 순서를 다르지만 그 구성이 일치하면 두 단어는 아나그램이라고 합니다. 길이가 같은 두 개의 단어가 주어지면 두 단어가 아나그램인지 판별하는 프로그램을 작성하세요. 아나그램 판별 시 대소문자가 구분됩니다.
첫 줄에 첫 번째 단어가 입력되고, 두 번째 줄에 두 번째 단어가 입력됩니다.
단어의 길이는 100을 넘지 않습니다.
두 단어가 아나그램이면 "YES"를 출력하고, 아니면 "NO"를 출력합니다.
#include <iostream>
#include <algorithm>
using namespace std;
int a[60], b[60];
int main()
{
char str[100];
cin >> str;
for (int i = 0; str[i] != '\0'; i++)
{
if (str[i] >= 'a' && str[i] <= 'z')
a[str[i] - 64]++;
else
a[str[i] - 70]++;
}
cin >> str;
for (int i = 0; str[i] != '\0'; i++)
{
if (str[i] >= 'a' && str[i] <= 'z')
b[str[i] - 64]++;
else
b[str[i] - 70]++;
}
for (int i = 1; i <= 52; i++)
{
if (a[i] != b[i])
{
cout << "NO";
exit(0);
}
}
cout << "YES";
}