4354

BOJ

[ 백준 4354 ] - 문자열 제곱 (Kotlin)

4354번: 문자열 제곱 알파벳 소문자로 이루어진 두 문자열 a와 b가 주어졌을 때, a*b는 두 문자열을 이어붙이는 것을 뜻한다. 예를 들어, a="abc", b="def"일 때, a*b="abcdef"이다. 이러한 이어 붙이는 것을 곱셈으로 생각한다 www.acmicpc.net 문제 이해 & 기본 개념 s = a ^ n을 만족하는 최대의 n을 구해야하는 문제이므로, a의 길이가 가장 작은 경우를 찾아야하는 문제이다. 해당 문제는 kmp 알고리즘 중에서 최대 접두부 테이블을 이용하여 풀 수 있는데, 예시로 "ababab" 에 대한 최대 접두부 테이블은 아래와 같다. a b a b a b 0 0 1 2 3 4 테이블을 잘 보면 처음 ab에선 0 0이고 그 이후부턴 1 2 3 4로 계속 이어지는 것을 볼 ..

dongx._.2
'4354' 태그의 글 목록