LeetCode - 205. Isomorphic Strings (Python)

조민수·2024년 6월 5일
0

LeetCode

목록 보기
16/61

Easy, 해시

RunTime : 40 ms / Memory : 16.59 MB


문제

Given two strings s and t, determine if they are isomorphic.

Two strings s and t are isomorphic if the characters in s can be replaced to get t.

All occurrences of a character must be replaced with another character while preserving the order of characters. No two characters may map to the same character, but a character may map to itself.


풀이

  • 백준이랑 프로그래머스 둘 다 접해봤던 문제, 딕셔너리를 통해 매핑하며 해결했다.
class Solution:
    def isIsomorphic(self, s: str, t: str) -> bool:
        dic = dict()
        if len(s) != len(t):
            return False

        for i in range(len(s)):
            if s[i] in dic.keys() and dic[s[i]] == t[i]:
                pass
            elif s[i] not in dic.keys():
                dic[s[i]] = t[i]
            elif s[i] in dic.keys() and dic[s[i]] != t[i]:
                return False
        
        set1 = set(dic.keys())
        set2 = set(dic.values())
        if len(set1) != len(set2):
            return False
        return True
profile
사람을 좋아하는 Front-End 개발자

0개의 댓글