Dev/Algorithm

290. Word Pattern (Easy)

rryu09 2024. 11. 12. 14:41
class Solution:
    def wordPattern(self, pattern: str, s: str) -> bool:
        d={}
        words = s.split()
        seen=set()
        if len(pattern)!=len(words):
            return False
        for i in range(len(pattern)):
            if pattern[i] in d:
                if d[pattern[i]]!=words[i]:
                    return False
            else:
                if words[i] in seen:
                    return False
                d[pattern[i]] = words[i]
                seen.add(words[i])
        return True

처음에 중복되는 단어가 words 에 들어간 경우를 고려하지 않아서 테케에서 걸려 뒤늦게 seen set 을 추가했다.

'Dev > Algorithm' 카테고리의 다른 글

11. Container With Most Water (Medium)  (1) 2024.11.12
27. Remove Element (Easy)  (0) 2024.11.12
46. Permutations (Medium)  (0) 2024.11.11
36. Valid Sudoku (Medium)  (0) 2024.11.10
226. Invert Binary Tree (Easy)  (0) 2024.11.09