isomorphic2 [LeetCode] Word Pattern 파이썬 (isomorphic, contract mapping) class Solution: def wordPattern(self, pattern: str, s: str) -> bool: s = list(s.split(" ")) if len(pattern) != len(s): return False s2t, t2s = {}, {} for p, w in zip(pattern, s): if w not in s2t and p not in t2s: s2t[w] = p t2s[p] = w elif w not in s2t or s2t[w] != p: # Contradict mapping. return False return True 이 문제를 본 순간 [LeetCode] Isomorphic Strings 문제가 떠올랐다. ygseo.tistory.com/221 len으로 먼저 .. 2021. 4. 12. [LeetCode] Isomorphic Strings 파이썬 class Solution: def isIsomorphic(self, s: str, t: str) -> bool: s2t, t2s = {}, {} for p, w in zip(s, t): if w not in s2t and p not in t2s: s2t[w] = p t2s[p] = w elif w not in s2t or s2t[w] != p: # Contradict mapping. return False return True 서로 상대방의 string을 key와 value로 map 한다. elif 문 w(p의 char)가 s의 dict인 s2t에 없거나(처음 보는 다른 char일 경우) s2t의 key는 있지만 (t의 char이 s에 있지만, 즉 기존에 mapped 되었지만), 새로운 char가 등장.. 2021. 4. 5. 이전 1 다음