https://leetcode.com/problems/valid-anagram/

Input: s = "anagram", t = "nagaram"
Output: true
Input: s = "rat", t = "car"
Output: false

두 string이 같은 문자열인지 확인한다. (재 배열해서 같은 문장이 될 수 있는지)

class Solution {
public:
	bool isAnagram(string s, string t) {
//여기서 둘이 size가 애초에 다르면 바로 return 시켜줄수도 있겠다.
		std::unordered_map<char, int> umap;
		for (int i = 0; i < s.size(); ++i)
		{
			if (umap.find(s[i]) != umap.end())
			{
				umap[s[i]]++;
			}
			else
			{
				umap[s[i]] = 1;
			}
		}

		for (int i = 0; i < t.size(); ++i)
		{
			if (umap.find(t[i]) != umap.end())
			{
				umap[t[i]]--;
				if (umap[t[i]] < 0)
					return false;
			}
			else
				return false;
		}
		
		for (int i = 0; i < umap.size(); ++i)
		{
			if (umap[i] != 0)
				return false;
		}

		return true;
	}
};

Runtime: 12 ms, faster than 59.76% of C++ online submissions for Valid Anagram.

Memory Usage: 7.5 MB, less than 56.87% of C++ online submissions for Valid Anagram.