Python/Coding Test

[Coding Test] 크기가 작은 부분문자열

gangee 2023. 7. 14. 16:26

목차

    728x90
    반응형

    프로그래머스 코딩테스트 1단계 : 크기가 작은 부분문자열

    문제 설명

    숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.

    예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다.

    문제 풀이

    • 반복문을 통해 t문자열의 길이만큼 반복
    • t문자열을 p문자열의 길이만큼 슬라이스하여 a에 저장
    • 조건문을 통해 a문자열의 길이와 p문자열의 길이가 같을 때를 구분
    • 앞의 조건문으로 두 문자열의 길이가 같을 때 문자열 a와 p를 int함수를 이용해 정수로 변환하여 비교
    • 정수를 비교하여 a값이 p값보다 작거나 같을 때 answer에 1을 더해줌
    • 최종적으로 나온 answer 반환

    정답 코드

    def solution(t, p):
        answer = 0
    
        for i in range(len(t)):
            a = t[i:i+len(p)]
            if len(a) == len(p):
                if int(a) <= int(p):
                    answer += 1
    
        return answer
    * 이 문제는 프로그래머스 코딩테스트 연습 1단계 문제입니다.
    728x90
    반응형

    'Python > Coding Test' 카테고리의 다른 글

    [Coding Test] 영어 끝말잇기  (0) 2023.07.21
    [Coding Test] 카펫(완전탐색)  (0) 2023.07.17
    [Coding Test] 삼총사  (0) 2023.07.13
    [Coding Test] 숫자의 표현  (0) 2023.07.08
    [Coding Test] 3진법 뒤집기  (0) 2023.07.07