a문자열로 b문자열을 만들 수 있는가 체크.
1. 같은 문자로 이루어져 있다면, 모든 문자는 짝수일 것이다.
2. map을 이용하여 각 문자를 추출한다.
3. 값이 짝수가 맞는지 확인.
비트 연산자를 이용하여 홀수 체크를 했고, 홀수라면 조기반환.
#include <string>
#include <vector>
#include <unordered_map>
using namespace std;
int solution(string before, string after) {
int answer = 1;
unordered_map<char, int> map;
for (int i = 0; i < before.size(); ++i)
{
++map[before[i]];
++map[after[i]];
}
for (const auto& it : map)
{
if (it.second & 1) return 0;
}
return answer;
}
아니 왜자꾸 sort 안쓰냐고 민재야!
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(string before, string after) {
sort(before.begin(), before.end());
sort(after.begin(),after.end());
if(after == before) return 1;
else return 0;
}