반응형
https://leetcode.com/problems/ransom-note/description/
Ransom Note - LeetCode
Ransom Note - Given two strings ransomNote and magazine, return true if ransomNote can be constructed by using the letters from magazine and false otherwise. Each letter in magazine can only be used once in ransomNote. Example 1: Input: ransomNote = "a"
leetcode.com
자료구조를 이용한 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
magazine에 나온 alphabat의 빈도 수를 저장할 map magazineMap을 선언 후 형태에 맞게 저장합니다.
📔 풀이과정
ransomNote의 원소를 수행하며 magazineMap에 해당 원소 빈도 수가 0이라면 false를 아니면 1씩 감소시켜 소모했음을 나타내줍니다.
📕 Code
📔 C++
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
map <char, int> magazineMap;
for(auto m : magazine) {
magazineMap[m]++;
}
for(auto r : ransomNote) {
if(!magazineMap[r]) return false;
magazineMap[r]--;
}
return true;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > 자료구조' 카테고리의 다른 글
(C++) - LeetCode (easy) 414. Third Maximum Number (0) | 2023.03.12 |
---|---|
(C++) - LeetCode (easy) 387. First Unique Character in a String (0) | 2023.02.27 |
(C++) - LeetCode (easy) 783. Minimum Distance Between BST Nodes (0) | 2023.02.17 |
(C++) - LeetCode (easy) 234. Palindrome Linked List (0) | 2023.01.19 |
(C++) - LeetCode (easy) 232. Implement Queue using Stacks (0) | 2023.01.18 |