프로그래머스 lv1 크기가 작은 부분 문자열 파이썬
숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분 문자열 중에서 이 부분 문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성 하세요.
휴... 끝없이 돌아갈 뻔 했다가 정신 부여잡았다.
답없이 list로 풀려고 하는 버릇을 고쳐야 겠다....🫤
def solution(t, p):
a = 0
num = (len(t) - len(p)+1)
for i in range(num):
if int(t[i:i+len(p)]) <= int(p):
a += 1
return (a)
우선 len(p)
의 길이와 같은 부분문자열
의 개수는
(len(t) - len(p)) + 1
이 된다.
이 길이 만큼 for
문에 넣은 후, t
라는 문자열을 [i:i+len(p)]
만큼
slicing
해준후 int
형식으로 묶어준 다음에 이것을 int(p)
와
비교한 후 그만큼 a
의 값을 1씩 늘리면 된다!
오늘도 하나 해결~!