
#include<stdio.h>
char a[100];
char b[100];
int c[52];
int d[52];
int main(){
scanf("%s", &a);
scanf("%s", &b);
bool flag = true;
for(int i = 0; i < 100; i++)
{
int idx_a, idx_b = 0;
if(a[i] >= 65 && a[i] <= 90)
{
int idx_a = a[i] - 65;
c[idx_a]++;
}
else if(a[i] >= 97 && a[i] <= 122)
{
int idx_a = a[i] - 97 + 26;
c[idx_a]++;
}
if(b[i] >= 65 && b[i] <= 90)
{
int idx_b = b[i] - 65;
d[idx_b]++;
}
else if(b[i] >= 97 && b[i] <= 122)
{
int idx_b = b[i] - 97 + 26;
d[idx_b]++;
}
}
for(int i = 0; i < 52; i++)
{
if(c[i] != d[i])
flag = false;
}
if(flag)
printf("%s", "YES");
else
printf("%s", "NO");
}
1. 문자열을 입력받아서 각각 a, b 배열에 저장한다.
2. a, b 배열의 원소들을 확인하면서 대문자면 0~25까지(A-Z), 소문자면 26~52(a-z) 까지 인덱스를 부여해서
c, d 배열의 해당 인덱스의 값을 증가시켜준다.
3. c, d 배열이 서로 같다면 같은 구성의 문자로 보고 YES를 출력한다.
알파벳의 범위(아스키 코드)
A - Z = 65 - 80
a - z = 97 - 122
