
def solution(t, p):
answer = 0
#길이가 짧은 문자열 수 찾기
pat = len(t) if len(t) < len(p) else len(p)
#길이가 긴 문자열 찾기
long = t if len(t) > len(p) else p
#길이가 짧은 문자열 찾기
short = t if len(t) < len(p) else p
#len(long) - pat 할시 마지막이 생할 될수가 있어서 +1을 해줌
for i in range(0, len(long) - pat + 1, 1):
#short문자열이 long보다 작거나 같은때 +1
if int(long[i:i+pat]) <= int(short):
answer += 1
return answer
혹시라도 t의 길이가 p보다 짧을수도 있음을 대비해서
long변수와 short변수를 추가하여
해당 상황을 피했습니다.
pat변수를 추가해 길이가 짧은 변수를 찾아 해당 길이를 pat변수에 넣어 주었습니다.
이후 long[i:i+pat]을 사용해 부분 문자열을 나타내 주었고 short보다 작거나 같을 시에 answer에 +1을 해주었습니다.
ps. i:i+pat의 경우 i = 3, pat = 3일시에
3번째 index부터
i+pat = 6 이니 6-1 = 5 즉
index(3) ~ index(5)를 출력합니다
여기서 6-1을 하는 이유는
python은 시작 인덱스는 포함하고, 끝 인덱스는 포함하지 않는다 라는 규칙을 가지고 있습니다.