Algorithm/알고리즘개념

반복되는 문자열에서 반복되는 부분 구하기

patrck_jjh 2021. 11. 4. 17:10
str = '문자열'
x = len(str)


for i in range(1, (x // 2)+1):	# 문자열 절반의 값을 for문으로 반복 
    s = str[0:i]	# s변수에 i값을 증가시키며 대입
    count = int(x / i)	# count변수에 문자열이 length를 i의 값으로 나눈값을 대입
	
    # 전체 문자열이 s에 count를 곱한 값과 같다면 s에 반복되는 요소가 들어갔다는 의미이므로 break으로 반복문을 빠져나온다.
    if (s*count == str):	
        print(s)
        break

 

특정한 문자열이 반복되어 있는 경우 반복되는 요소를 출력해준다.

 

문자열 절반의 값을 for문으로 반복하고 s변수에 i값을 증가시키며 대입한다.

 

count변수에 문자열이 length를 i의 값으로 나눈값을 대입한다.

 

전체 문자열이 s에 count를 곱한 값과 같다면 s에 반복되는 요소가 들어갔다는 의미이므로 break으로 반복문을 빠져나온다.