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";
}
}
}
'알고리즘 & SQL > 백준(BOJ)' 카테고리의 다른 글
백준 1916번 : 최소비용 구하기 C++ (0) | 2018.11.28 |
---|---|
백준 16499번 : 동일한 단어 그룹화하기 C++ (0) | 2018.11.27 |
백준 6359번 : 만취한 상범 C++ (0) | 2018.11.26 |
백준 5597번 : 과제 안 내신 분..? C++ (0) | 2018.11.26 |
백준 2606번 : 바이러스 C++ (0) | 2018.11.26 |