지원연구소 공식 블로그

[PROGRAMMERS] 문자열이 몇 번 등장하는지 세기 (LV. 0) - Python 본문

코딩테스트/프로그래머스

[PROGRAMMERS] 문자열이 몇 번 등장하는지 세기 (LV. 0) - Python

지원연구소 2024. 5. 1. 23:33

[ 문제 ]

문자열 myString과 pat이 주어집니다. myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요.

 

 

 

[ 제한 사항 ]

  • 1 ≤ myString ≤ 1000
  • 1 ≤ pat ≤ 10

 

 

[ 입출력 예 ]

myString pat result
"banana" "ana" 2
"aaaa" "aa" 3

 

< 입출력 예 #1 >

  • "banana"에서 1 ~ 3번 인덱스에서 한 번, 3 ~ 5번 인덱스에서 또 한 번 "ana"가 등장해서 총 두 번 등장합니다. 따라서 2를 return 합니다.

< 입출력 예 #2 >

  • "aaaa"에서 0 ~ 2번 인덱스에서 한 번, 1 ~ 3번 인덱스에서 한 번, 2 ~ 4번 인덱스에서 한 번 "aa"가 등장해서 총 세 번 등장합니다. 따라서 3을 return 합니다.

 

 

[ 해결 방법 ]

1. myString 길이만큼 반복
2. 만약 탐색하려는 값 pat가 myString의 현재 탐색 위치부터 pat길이만큼의 값과 같다면 count 변수에 1 더함
3. 모든 반복이 종료된 후 count 변수를 반환

 

 

 

[ solution.py ]

def solution(myString, pat):
    count = 0
    
    for i in range(len(myString)):
        if pat in myString[i : i+len(pat)]:
            count += 1
            
    return count

 

 

 

> 🌻피드백은 언제나 환영입니다🌻 <