[ 처음 풀이 ]
String으로 받아온 두 문자열을 그대로 vector<char>로 parsing해서
RansomNote vector에 있는 문자를 처음부터 하나하나 magazine vector에 존재하는 지 따져보고,
있다면 magazine 문자열에서 삭제. 없다면 조건 성립 실패이므로 false 반환.
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
vector<char> ransom(ransomNote.begin(), ransomNote.end());
vector<char> mag(magazine.begin(), magazine.end());
for (int i = 0; i < ransom.size(); i++) {
char toFind = ransom[i];
auto it = find(mag.begin(), mag.end(), toFind);
// 찾지 못했을 경우
if(it == mag.end()){
return false;
} else { // 찾았을 경우
mag.erase(it);
}
}
return true;
}
};