Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- jpa
- 백준
- leetcode 69
- 개념
- 구현
- Gold4
- 배포
- gold2
- Thymeleaf
- Kakao
- 오류
- LEVEL1
- PYTHON
- 백엔드
- spring
- glod4
- glod5
- gold5
- 9252
- LEVEL2
- LCS
- leetcode
- 프로그래머스
- error
- AWS
- CSS
- java
- mysql
- HTML
- siver3
Archives
- Today
- Total
이 험난한 세상에서어어~
크기가 작은 부분 문자열, python 본문
문제 설명
문자열 t와 p가 있다. 여기서 p만큼의 길이를 가진 t의 부분 문자열이 정수형으로 변환했을 때 더 작으면 answer에 값을 하나씩 올려준다.
https://school.programmers.co.kr/learn/courses/30/lessons/147355
문제 풀이
첫 번째 접근
문자열 t를 p만큼 잘라서 확인을 해주면 되는 문제였다. 여기서 조심해야 할 점은 바로 인덱스 오류. 그렇기에 제일 마지막에 검사할 것은 len(t) - len(p) + 1로 끝을 정해주면 된다.
문자열을 시작 부분 부터 len(p)만큼 잘라서 자른 문자열이 정수형으로 변환될 수 있는지 확인한 후 검사를 해서 p보다 작으면 answer에 1을 올려주는 방식을 사용했다.
그러나 파이썬은 정수형으로 바꿀 때 굳이 이게 정수형으로 변환될 수 있는지는 확인할 필요가 없다. 걍 int해주면 알아서 확인하고 0을 제거하는 등 변환해주는 모양.
코드
첫 번째 코드
def solution(t, p):
answer = 0
intP = int(p)
for i in range(0, len(t)-len(p)+1):
current = t[i:i+len(p)]
if current[0].isdecimal():
current = int(current)
if current <= intP:
answer += 1
return answer
두 번째 코드
def solution(t, p):
answer = 0
intP = int(p)
for i in range(0, len(t)-len(p)+1):
current = t[i:i+len(p)]
if int(p) >= int(current):
answer += 1
return answer
'algorithm > 코딩 테스트' 카테고리의 다른 글
로봇 청소기, python (0) | 2023.06.18 |
---|---|
콜라 문제, python (0) | 2023.06.03 |
가장 가까운 같은 글자, python (0) | 2023.06.03 |
카드 뭉치, python (0) | 2023.06.03 |
기사단원의 무기 (0) | 2023.06.02 |