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
반응형
'알고리즘 > HackerRank' 카테고리의 다른 글
Strings - Alphabet Rangoli (Python) (0) | 2023.01.23 |
---|---|
HackerRank Python 문제 풀이 참고 사이트 (0) | 2023.01.11 |
Basic Data Types - Nested Lists (Python) (0) | 2023.01.11 |
[Python] Basic Data Types - Lists (0) | 2023.01.10 |
Basic Data Types - List Comprehensions (Python) (0) | 2023.01.08 |