본문 바로가기

Algorithm/Programmers lv.1

[프로그래머스] 크기가 작은 부분 문자열

 

https://school.programmers.co.kr/learn/courses/30/lessons/147355

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

이 문제의 핵심은 두가지라고 생각한다.

1. p와 같은 문자열의 길이를 갖는 부분문자열이 t에 몇개 있는지 파악하는 것

2. p와 같은 문자열의 길이만큼 t에서 부분문자열을 추출하는 것

 

아래의 코드를 보자.

 

def solution(t, p):
    tmp = 0
    cnt = 0
    r = len(t) - len(p) + 1

    for i in range(r):
        tmp = t[i : i + len(p)]
        if int(tmp) <= int(p):
            cnt += 1

    return cnt

 

핵심 1번. p와 같은 문자열의 길이를 갖는 부분문자열이 t에 몇개 있는지는 다음의 공식을 찾았다. r = len(t) - len(p) + 1개

핵심 2번.문자열 자르기를 통해 부분문자열을 추출하였다. tmp = t[i : i + len(p)]