본문 바로가기

TIL

[240318] 파이썬: 코드카타 43 & SQL: 코드카타 149~155

[파이썬 코드카타]

크기가 작은 부분 문자열
https://school.programmers.co.kr/learn/courses/30/lessons/147355

 

1) 어떤 문제가 있었나

숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 부분문자열이 p보다 작거나 같은 수가 나오는 횟수를 반환

t = "3141592"   # 314, 141, 415, 159, 592

p =  "271"

result = 2   #141, 159

 

2) 내가 시도해본 건 무엇인가

for 문으로 t 값을 p 길이만큼 순서대로 꺼낼 수 있도록 range +len을 결합한 함수를 사용

for 문 뒤에 print 값을 넣어서 제대로 작동하는지 체크한 뒤 if 문 적용하요 최종 함수 적용 

 

3) 어떻게 해결했나

def solution(t, p):
    answer = 0
    for i in range(0,(len(t)-(len(p))+1)):
        if int(t[i:(len(p)+i)]) <= int(p):
            answer += 1
    return answer

 

4) 무엇을 새롭게 알았나
- range 내 계산식을 넣어서 함수화하는 법