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 |