목차
728x90
반응형
프로그래머스 코딩테스트 1단계 : 크기가 작은 부분문자열
문제 설명
숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.
예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다.
문제 풀이
- 반복문을 통해 t문자열의 길이만큼 반복
- t문자열을 p문자열의 길이만큼 슬라이스하여 a에 저장
- 조건문을 통해 a문자열의 길이와 p문자열의 길이가 같을 때를 구분
- 앞의 조건문으로 두 문자열의 길이가 같을 때 문자열 a와 p를 int함수를 이용해 정수로 변환하여 비교
- 정수를 비교하여 a값이 p값보다 작거나 같을 때 answer에 1을 더해줌
- 최종적으로 나온 answer 반환
정답 코드
def solution(t, p):
answer = 0
for i in range(len(t)):
a = t[i:i+len(p)]
if len(a) == len(p):
if int(a) <= int(p):
answer += 1
return answer
* 이 문제는 프로그래머스 코딩테스트 연습 1단계 문제입니다.
728x90
반응형
'Python > Coding Test' 카테고리의 다른 글
[Coding Test] 영어 끝말잇기 (0) | 2023.07.21 |
---|---|
[Coding Test] 카펫(완전탐색) (0) | 2023.07.17 |
[Coding Test] 삼총사 (0) | 2023.07.13 |
[Coding Test] 숫자의 표현 (0) | 2023.07.08 |
[Coding Test] 3진법 뒤집기 (0) | 2023.07.07 |