-
코드
while 1: s=input() if s==".": break else: s_len=len(s) p_table=[0 for _ in range(s_len)] j=0 for i in range(1,s_len): while j>0 and s[i]!=s[j]: j=p_table[j-1] if s[i]==s[j]: j+=1 p_table[i]=j p_len=s_len-p_table[s_len-1] if s_len % p_len == 0: print(s_len//p_len) else: print(1)
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1786번 찾기 (파이썬) (0) 2022.01.06 [백준] 11723번 집합 (파이썬) (0) 2022.01.06 [백준] 15681번 트리와 쿼리 (파이썬) (0) 2022.01.06 [백준] 9372번 상근이의 여행 (파이썬) (0) 2022.01.06 [백준] 1717번 집합의 표현 (파이썬) (0) 2022.01.06