728x90
https://leetcode.com/problems/ransom-note/
alpha 배열을 통해서 해당 알파벳 개수를 세고 magazine에서 해당 알파벳 개수를 감소시킨다.
만약 0보다 큰 게 있다면 ransomNote에 아직 알파벳이 남았는데 magazine이 끝난 것이므로 return false
bool canConstruct(string ransomNote, string magazine) {
bool answer = true;
int alpha[26];
for(int i=0; i<26; i++) alpha[i] = 0;
for(int i=0; i<ransomNote.size(); i++) alpha[ransomNote[i]-'a']++;
for(int i=0; i<magazine.size(); i++) alpha[magazine[i]-'a']--;
for(int i=0; i<26; i++) if(alpha[i] > 0) return false;
return answer;
}
728x90
'알고리즘 > LeetCode' 카테고리의 다른 글
[LeetCode/easy/Array] Remove Element (0) | 2022.08.16 |
---|---|
[LeetCode/easy/Array] Remove Duplicates from Sorted Array (0) | 2022.08.16 |
[LeetCode/easy] Reverse Vowels of a String (0) | 2022.08.12 |
[LeetCode/easy] Word Pattern (0) | 2022.08.12 |
[LeetCode/easy] Valid Anagram (0) | 2022.08.12 |