-
[리트코드] 0713공부기록/문제풀이 2021. 7. 13. 16:17
문제를 보고, dictionary 구조를 쓰면 빨리 풀 수 있을 것 같았다. 그런데 c++로 하는지라 dictionary구조가 있었나? 해서 고민하다가 결국 솔루션을 찾아봤더니 dictionary를 사용하더라. c++에 unordered_map이 비슷하게 동작한다고 해서 그걸 사용해서 풀었다.
class Solution { public: bool isIsomorphic(string s, string t) { unordered_map<char, char> sm; unordered_map<char, bool> tm; int n = s.size(); for(int i=0; i<n; i++){ if(sm.count(s[i]) != 0){ if(sm[s[i]] != t[i]) return false; } else{ if(tm[t[i]]) return false; else{ sm[s[i]] = t[i]; tm[t[i]] = true; } } } return true; } };
'공부기록 > 문제풀이' 카테고리의 다른 글
[리트코드] 0715 (0) 2021.07.15 [리트코드] 0712 (0) 2021.07.12 [리트코드] 0711 (0) 2021.07.11 [리트코드] 0710 (0) 2021.07.10 [리트코드] (0) 2021.07.09