LeetCode 솔루션					분류
				
						[1/1] 290. Word Pattern
본문
Given a pattern and a string s, find if s follows the same pattern.
Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s.
Example 1:
Input: pattern = "abba", s = "dog cat cat dog" Output: true
Example 2:
Input: pattern = "abba", s = "dog cat cat fish" Output: false
Example 3:
Input: pattern = "aaaa", s = "dog cat cat dog" Output: false
Constraints:
- 1 <= pattern.length <= 300
- patterncontains only lower-case English letters.
- 1 <= s.length <= 3000
- scontains only lowercase English letters and spaces- ' '.<li style="border: 0px solid; box-sizing: border-box; --tw-border-spacing-x:0; --tw-border-spacing-y:0; --tw-translate-x:0; --tw-translate-y:0; --tw-rotate:0; --tw-skew-x:0; --tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness:proximity; --tw-ordinal: ; --tw-slashed-zero: ;
관련자료
- 
			링크
			댓글 1
					
			학부유학생님의 댓글
- 익명
- 작성일
class Solution:
    def wordPattern(self, pattern: str, s: str) -> bool:
        pat_to_word = {}
        slist = s.split()
        word_to_pat = {}
        if len(pattern) != len(slist): return False
        for i in range(len(slist)):
            if pattern[i] not in pat_to_word:
                pat_to_word[pattern[i]] = slist[i]
            elif pat_to_word[pattern[i]] != slist[i]:
                return False
            
            if slist[i] not in word_to_pat:
                word_to_pat[slist[i]] = pattern[i]
            elif word_to_pat[slist[i]] != pattern[i]:
                return False
        
        return True 
								 
							







