오늘 문제는 기초 KMP 알고리즘을 사용. KMP알고리즘 자체 난이도는 좀 있는 편.class Solution: def strStr(self, haystack: str, needle: str) -> int: if len(haystack) < len(needle): return -1 def get_pi(pat): n = len(pat) pi = [0] * n i = 1 j = 0 while i<n: if pat[i] == pat[j]: j += 1 pi[i] = j i += 1 else: if j: j = pi[j-1] else: pi[i] = j i += 1 return pi def kmp(txt, pat): pi = get_pi(needle) i = j = 0 while i<len(txt): if txt[i] == pat[j]: i += 1 j += 1 if j == len(pat): return i - len(pat) else: if j: j = pi[j-1] else: i += 1 return -1 return kmp(haystack, needle)
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.