인천의 자유인

[Python] 크기가 작은 부분 문자열 - 프로그래머스(Lv.1) 본문

Python/Python코딩테스트

[Python] 크기가 작은 부분 문자열 - 프로그래머스(Lv.1)

Youngook 2024. 5. 23. 08:37
728x90
반응형

 

 

 

 

나의 문제 풀이

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

 

answer이라는 빈 리스트에다가 p 숫자의 길이씩 추가해 줍니다.

예를 들면 t가 "3141592"이고 p가 "271"이라고 한다면 p가 3자리 숫자 이기때문에  answer이라는 리스트는 세자리 숫자씩 추가해서 ["314", "141", "415", "159", "592"]를 만듭니다.

그리고 이것이 만들어 졌으면 본격적으로 p와 리스트 요소와 크기 비교를 해야하기 때문에 answer 리스트의 요소를 하나씩 꺼냄과 동시에 int형으로 바꿔줍니다. p또한 int형으로 변환해 줍니다. 그렇게 해서 answer리스트안에 있는 요소들을 하나씩 출력해서 만약 p보다 작은 요소가 나타나면 count를 1씩 증가합니다. 그리고 증가한 식을 return하면 정답이 됩니다.

728x90
반응형