Computer science/Algorithm

문자열 비교

잔망루피 2021. 10. 17. 20:02
# 백준 '2661. 좋은수열' 문제 중에서
for i in range(1, (idx//2)+1) :
        if s[-i:] == s[-2*i : -i] : return -1

뒤에서부터 길이가 i인 두 문자열을 비교

 

# 백준 '2661. 좋은수열' 문제 중에서
def check(s) :
    for i in range(1, (len(s)//2)+1) :
        leng=i		# 길이
        start=0
        start2=start+i
        for j in range(len(s)-(leng*2)+1) :		# 시작 인덱스 증가
            if s[start+j : start+j+leng] == s[start2+j : start2+j+leng] :
                return False
    return True

1부터 문자열의 절반까지 반복하며 두 문자열을 비교

start와 start2는 겹치지 않는다.

 

반응형

'Computer science > Algorithm' 카테고리의 다른 글

palindrome  (0) 2021.12.06
[파이썬] 달팽이  (0) 2021.11.04
Sliding window와 Two pointer algorithm  (0) 2021.10.11
비트마스크  (0) 2021.09.25
LRU  (0) 2021.08.26