16. Anagram

zzzzwso·2023년 8월 26일
0

문제설명

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";
}
profile
HI there

0개의 댓글