728x90
https://school.programmers.co.kr/learn/courses/30/lessons/147355
입력의 최대 크기가 작아 N^2의 시간 복잡도를 이용해서 풀 수 있지 않을까 고민하다가, 분명 더 쉬운 방법이 있을 것 같은데..? 고민하던 중 팍 떠올랐다!
우선, Index out of range를 방지해주기 위해 p-1까지만 돌려준다. 그리고 만약 p가 3자릿수라면, 3개씩 잘라 배열에 담아준다. (이때 굳이 배열에 담지 않고 바로 비교해도 된다)
그리고 배열에 있는 걸 하나씩 꺼내 p와 비교해주면 끝!
def solution(t, p):
answer = 0
flag = False
siz = len(p)
arr=[]
for i in range(len(t)-(siz-1)):
arr.append(t[i:i+siz])
for i in range(len(arr)):
if int(arr[i]) <= int(p):
answer+=1
return answer
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/파이썬] 타겟 넘버 (0) | 2023.08.29 |
---|---|
[프로그래머스/파이썬] 정수 삼각형 (0) | 2023.05.30 |
[프로그래머스/python] Level 2 : 이모티콘 할인 행사 (0) | 2023.04.28 |
[프로그래머스/python] Level 2 : 택배 배달과 수거하기 (3) | 2023.01.09 |
[프로그래머스/python] Level 1 : 개인정보 수집 유효기간 (0) | 2023.01.07 |