https://school.programmers.co.kr/learn/courses/30/lessons/181871
이 문제는 범위를 잘 설정해서 풀어야 하는 문제이다.
answer = 0을 선언해준후 for i in range(len(mystring)-len(pat)+1)를 한 이유는 pat이 문자열 안에 들어가 있는지 확인을 해야하는데 아래 if pat in mystring[i:len(pat)+i]를 보면 pat의 길이가 예를 들어 3이고 mystring의 길이가 6이라면 0~3+0, 1~3+1.... 쭉 인덱스를 찾아 확인하는데 마지막 반복을 할 때 3~3+3은 mystring에 포함하는 구간이지만 i가 1이 더 커지면 주어진 문자열보다 포함구간이 더 길어져 오류가 발생해 i+len(pat)의 길이가 mystirng과 같아지도록 조정해준 것이다. +1을 한 이유는 range의 범위는 항상 미만이기에 +1를 해야 문자열 끝까지 확인할 수 있다.
그 후 if 문이 참이라면 answer += 1 해주고 리턴 answer해주면 된다.
'프로그래머스 > 프로그래머스 Lv0' 카테고리의 다른 글
Lv0 7의 개수 (0) | 2024.05.30 |
---|---|
Lv0 수열과 구간 쿼리3 (0) | 2024.05.30 |
Lv0 진료 순서 정하기 (0) | 2024.05.28 |
Lv0 세 개의 구분자 (0) | 2024.05.28 |
Lv0 간단한 논리 연산 (0) | 2024.05.25 |