반응형
https://www.acmicpc.net/problem/1305
size = int(input())
b = input()
table = [0 for _ in range(len(b))]
i = 0
for j in range(1, len(b)):
while i > 0 and b[i] != b[j]:
i = table[i-1]
if b[i] == b[j]:
i += 1
table[j] = i
print(size-table[-1])
초반엔 너무 어렵게 생각해서 감이 안잡혔는데,
파이 배열을 이용하여 pi[-1]을 구하면 끝이었다.
댓글