
https://school.programmers.co.kr/learn/courses/30/lessons/181871
문자열 myString과 pat이 주어집니다. myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요.
def solution(myString, pat):
answer = 0 # 패턴이 등장하는 횟수를 저장할 변수
# myString을 순회하며 패턴과 일치하는 부분 찾기
for i in range(len(myString) - len(pat) + 1):
# 현재 인덱스부터 패턴 길이만큼의 부분 문자열이 패턴과 일치하는지 확인
if myString[i:i + len(pat)] == pat:
answer += 1 # 일치하면 카운트 증가
return answer # 카운트된 횟수 반환
def solution(myString, pat):
answer = 0 # 패턴이 등장하는 횟수를 저장할 변수
# 문자열을 순회하면서
for i, x in enumerate(myString):
# 현재 인덱스에서 시작하는 부분 문자열이 패턴으로 시작하는지 확인
if myString[i:].startswith(pat):
answer += 1 # 패턴으로 시작하면 카운트 증가
return answer # 카운트된 횟수 반환
문자열에서 특정 패턴이 몇 번 등장하는지 확인하는 방법으로, 직접 부분 문자열을 추출해서 비교하는 방법을 사용다. 하지만, 남의 풀이를 보고 startswith() 메소드를 이용하면 더 간결하고 이해하기 쉽게 구현할 수 있다는 것을 깨달았다.