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
📝 풀이법
- p의 크기만큼 t를 잘라야 하는 것이기 때문에 인덱스 범위를 0 ~ (len(t) - len(p) + 1)로 뒀다.
- 순차적으로 문자열 t를 len(p)만큼 잘라내어 값을 비교해 p가 크거나 같으면 개수(answer)를 1 증가시킨다.
- ❗️ 문자열을 비교하게 되면 제대로 값을 비교하지 못하기 때문에 int로 타입을 변환해 비교해야 한다.
728x90
'알고리즘' 카테고리의 다른 글
프로그래머스 lv01 - [약수의 개수와 덧셈] (0) | 2023.11.08 |
---|---|
프로그래머스 lv01 - [없는 숫자 더하기] (0) | 2023.11.08 |
프로그래머스 lv01 - [가장 가까운 같은 글자] (0) | 2023.11.07 |
K번째 수 (0) | 2022.08.31 |
Binary Tree (0) | 2022.06.01 |