김지팡의 저장소
728x90

 

🧑‍💻
프로그래머스의 [크기가 작은 부분문자열] 문제이다. p의 크기만큼 t를 잘라서 그 자른 값을 p보다 작거나 같은 값들의 개수를 구하는 문제이다. t를 무작위로 p의 크기만큼 자르는 것이 아니기에 맨 앞에서부터 순차적으로 p의 크기만큼 자르면서 비교하는 비교적 간단한 문제였다.

def solution(t, p):
    answer = 0

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

 

📝 풀이법

  1. p의 크기만큼 t를 잘라야 하는 것이기 때문에 인덱스 범위를 0 ~ (len(t) - len(p) + 1)로 뒀다.
  2. 순차적으로 문자열 t를 len(p)만큼 잘라내어 값을 비교해 p가 크거나 같으면 개수(answer)를 1 증가시킨다.
  3. ❗️ 문자열을 비교하게 되면 제대로 값을 비교하지 못하기 때문에 int로 타입을 변환해 비교해야 한다.
728x90
profile

김지팡의 저장소

@김지팡

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!