BOJ 6996번 에너그램 문제

문자열 각각을 알파벳마다 개수를 카운트한다.

그 갯수들이 모두 같으면 에너그램이다.

6996.cpp

#include <bits/stdc++.h>
using namespace std;
int ac[128], bc[128];
int main() {
    int n;
    cin >> n;
    while (n--) {
        string a, b;
        cin >> a >> b;
        if (a.size() != b.size()) {
            cout << a << " & " << b << " are NOT anagrams.\n";
            continue;
        }
        for (int i = 0; i < a.size(); i++) {
            ac[a[i]]++;
            bc[b[i]]++;
        }
        bool end = false;
        for (int i = 0; i < 128; i++) {
            if (ac[i] != bc[i]) {
                cout << a << " & " << b << " are NOT anagrams.\n";
                end = true;
                break;
            }
        }
        if (!end) {
            cout << a << " & " << b << " are anagrams.\n";
        }
    }
}

+ Recent posts