728x90
반응형

Summary

string 관련 함수를 사용해서 푸는 문제였다.
나는 어떤 함수를 사용해야하는지 몰라 for 반복문으로 열심히 풀어보고 있다가 잘 안되서 찾아보니 startswith() 라는 함수가 있었다.

 

startswith() 함수 를 사용해서 문자열이 특정 문자열로 시작하는지 확인할 수 있다.
따라서, 이 함수를 사용해서 문제를 풀 수 있었다.

 

코드를 보면 string 의 각 문자만큼 반복문을 돌려주었다.

for i in range(0, len(string)):

그리고 앞의 문자 하나씩 제외하면서 sub_string 의 문자열을 포함하고 있는지 찾아주었다.

if string[i:].startswith(sub_string):
	cnt = cnt + 1

만약 포함하는 문자열이 있다면 카운트를 증가시켜주었다.

 

if 조건문의 조건을 보다 자세하게 살펴보면 

string[i:]

string 문자열을 가져오는데 [i:] 만큼만 가져오게 했다.
예를 들어, string[2:] 라고하면 2번째 인덱스부터 끝까지 가져오게 된다. (2<=, 2번 인덱스 이상)
주의해야할 점은 반대로 string[:2] 라고 하면 2번 인덱스 전, 바로 1번 인덱스까지 가져오게 된다. (<2, 2번 인덱스 미만)

그렇게 문자열을 가져와서 startswith() 함수를 통해 sub_string 문자열이 포함되어있는지 확인해주었다.

string[i:].startswith(sub_string)

 

 

Problem

 

Submit Code

def count_substring(string, sub_string):
    cnt = 0
    
    for i in range(0, len(string)):
        if string[i:].startswith(sub_string):
            cnt = cnt + 1
    
    return cnt

if __name__ == '__main__':
    string = input().strip()
    sub_string = input().strip()
    
    count = count_substring(string, sub_string)
    print(count)

 

Result

728x90
반응형
복사했습니다!