알고리즘/프로그래머스
[Programmers] 크기가 작은 부분문자열 _Python
3o14
2022. 12. 28. 01:21
728x90
반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/147355
풀이
def solution(t, p):
answer = 0
len_p = len(p)
len_t = len(t)
list(t)
p = int(p)
for i in range(0, len_t):
word = ""
if len_t - i < len_p :
# print("범위초과")
break;
n = i
for j in range(0, len_p):
word += t[n]
n += 1
# print(word)
num = int(word)
if num <= p :
answer += 1
# print("count++")
return answer
# for문으로 p의 길이만큼 문자를 따내서 숫자로 변환
# 그 숫자와 p 크기 비교 후 카운트
다른 풀이
def solution(t, p):
answer = 0
for i in range(len(t) - len(p) + 1):
if int(p) >= int(t[i:i+len(p)]):
answer += 1
return answer
이런 숏코딩 하시는거 보면 대단하시다 다들
아직 파이썬에 대한 이해도와 응용력이 부족한 것 같다
내 코드가 저렇게 길어진 이유는
1. 내가 if-break 처리한 부분은 range 범위로 아예 넣으셨고,
2. t는 문자열이지만 바로 리스트처럼 인덱싱 사용이 가능했다.
3. 리스트 콜론의 존재를 오랜만에 할때마다 까먹는다.
LIST