본문 바로가기
카테고리 없음

한 문장에서 반복되는 문자열 중 가장 짧은 문자열 찾기

by meteorfish 2022. 12. 18.
728x90

BOJ 26266] 비즈네르 암호 해독 문제 중

 

S E O U L S E O U L S E O U L...

이런 문자열에서 반복되는 문자열 중 가장 짧은 문자열은 SEOUL이다.

다음을 찾기 위해 KMP 알고리즘을 차용

 

https://blog.naver.com/ndb796/221240660061

 

30. KMP(Knuth-Morris-Pratt) 알고리즘

  이번 시간에 다루게 될 알고리즘은 KMP 알고리즘으로 대표적인 문자열(String) 매칭 알고리즘입...

blog.naver.com

 

for (i = 1; i < size; i++) {
		if (v[j] == v[i]) {
			start = i;
			while (i < size && v[j] != v[i]) {
				j++;
				i++;
			}
			if (start == j) {
				break;
			}
			else {
				j = 0;
			}
		}
	}

 

728x90