def PrefixFunc(P): #* Make Phi array
m = len(P)
phi = [0 for x in range(m)]
phi[0] = 0
k = 0
for q in range(1,m):
while k > 0 and P[k] != P[q]:
k = phi[k-1]
if P[k] == P[q]:
k += 1
phi[q] =k
return phi
def main():
data1 = None
while True:
data1 = input()
if data1 == ".":
return 0
T = list(data1)
phi = PrefixFunc(T)
if len(T) % (len(T) - phi[-1]) == 0:
result = int(len(T) // (len(T) - phi[-1]))
print(result)
else:
print(1)
if __name__ == '__main__':
main()
'Code' 카테고리의 다른 글
python UDP Calculator (0) | 2022.05.09 |
---|---|
raw to bmp (0) | 2022.03.29 |
백준 1786 (0) | 2022.02.07 |
[백준1978] 소수찾기 (0) | 2020.01.09 |
[백준1193] 분수찾기 (0) | 2020.01.09 |