728x90
Problem
Solution
array
이전에 포스팅한 isomorphic string 과 동일한 문제.
단지 스트링이 단순한 문자열이 아닌 단어로 이루어진 문장으로 변형한 문제.
동일하게 sub string을 통해서 각 단어의 index 를 구한 후 pattern 과 비교하였다.
Code
class Solution:
def wordPattern(self, pattern: str, s: str) -> bool:
answer = False
patternLi , sLi = [], []
for p in pattern:
patternLi.append(pattern.index(p))
sub_str = s.split()
for char in sub_str:
sLi.append(sub_str.index(char))
if len(patternLi) != len(sLi):
return False
if patternLi == sLi:
answer = True
return answer
Complexity
Time complexity
주어진 string s, pattern 모두 for문을 1번 도므로 O(N)의 시간 복잡도를 가진다.
Space complexity
각각 list 를 문자열의 길이만큼 가지므로 O(N)이다.
비슷한 이전 문제는 아래 링크
728x90
'코딩 테스트' 카테고리의 다른 글
[LeetCode] 1. Two Sum (Python) (0) | 2025.01.30 |
---|---|
[LeetCode] 9. Palindrome Number (Python) (0) | 2025.01.30 |
[LeetCode] 205. Isomorphic String (Python) (0) | 2025.01.28 |
[LeetCode] 202. Happy Number (Python) (0) | 2025.01.27 |
[HackerRank] Contacts (Python) (0) | 2025.01.18 |
댓글