반응형
33강에 대한 리뷰
하나 씩 확인하는 가장 단순한 알고리즘
단순히 모든 위치에서 모든 문자열이 같은지 확인하므로 O(N*M)의 시간복잡도를 가짐
효율적이진 않음
** Python
def find_string(parent, pattern):
parent_len = len(parent)
pattern_len = len(pattern)
for i in range(parent_len - pattern_len):
found = True
for j in range(0, pattern_len):
if j < pattern_len and parent[i + j] != pattern[j]:
found = False
break
if (found):
return i
return -1
if __name__ == "__main__":
p = "Hello World"
t = "llo W"
result = find_string(p,t)
if result == -1:
print("Not found")
else:
print(f'{result + 1}번째에서 찾았습니다.')
반응형
'Algorithm > 알고리즘 스터디(2021.07)' 카테고리의 다른 글
[Algorithm] 라빈 카프 알고리즘 (0) | 2021.11.29 |
---|---|
[Algorithm] KMP 알고리즘 (0) | 2021.11.22 |
[Algorithm] 위상정렬 문제풀이 (0) | 2021.11.16 |
[Algorithm] 이분 매칭 (Bipartite Matching) (0) | 2021.11.01 |
[Algorithm] 네트워크 플로우 (Network Flow) (0) | 2021.10.25 |