Find a string in Python - HackerRank Solution
Problem :
In this challenge, the user enters a string and a substring. You have to print the number of times that the substring occurs in the given string. String traversal will take place from left to right, not from right to left.
NOTE: String letters are case-sensitive.
Input Format :
The first line of input contains the original string. The next line contains
the substring.
Constraints :
1 <= len(string)<= 200
Each character in the string is an ascii character.
Output Format :
Output the integer number indicating the total number of occurrences of the
substring in the original string.
Sample Input :
ABCDCDC CDC
Sample Output :
2
Concept :
Some string processing examples,
such as these, might be useful.
There are a couple of new concepts:
In Python, the length of a string is found by the function
There are a couple of new concepts:
In Python, the length of a string is found by the function
len(s)
, where
is the string. To traverse through the length of a string, use a for loop:
for i in range(0, len(s)): print (s[i])
A range function is used to loop over some length:
range (0, 5)
Here, the range loops over 0to 4. 5 is excluded.
Solution :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # Find a string in Python - HackerRank Solution def count_substring(string, sub_string): # Find a string in Python - Hacker Rank Solution START count = 0 for i in range(len(string)-len(sub_string)+1): if (string[i:i+len(sub_string)] == sub_string): count += 1 return count # Find a string in Python - HackerRank Solution END if __name__ == '__main__': string = raw_input().strip() sub_string = raw_input().strip() count = count_substring(string, sub_string) print count |
Disclaimer :
the above hole problem statement is given by hackerrank.com but the solution is generated by the codeworld19 authority if any of the query regarding this post or website fill the following contact form thank you.
def count_substring(string, sub_string):
count = 0
for i in range(0,len(string)):
if string[i:i+len(sub_string)] == sub_string :
count += 1
return count
if __name__ == '__main__':
string = raw_input().strip()
sub_string = raw_input().strip()
count = count_substring(string, sub_string)
print count
This isnt working i had tried with this logic before. but why?
def count_substring(string, sub_string):
count = 0
i= 0
j = len(sub_string)
while True:
if string[i:j] == sub_string:
count = count + 1
i+=1
j+=1
if j> len(string):
break
return count
Nice Post!
Best Python Online Course
Python Online Training
This comment has been removed by the author.
def count_substring(string, sub_string):
l=len(string)
l2=len(sub_string)
count=0
for i in range(l-l2+1):
if (string[i:i+l2] == sub_string):
count+=1
return count
if __name__ == '__main__':
string = input().strip()
sub_string = input().strip()
count = count_substring(string, sub_string)
print(count)
def count_substring(string, sub_string):
count = 0
n = len(sub_string)
for i in range(len(string)):
if string[i:n] == sub_string:
count +=1
n +=1
return count
if __name__ == '__main__':
string = input().strip()
sub_string = input().strip()
count = count_substring(string, sub_string)
print(count)
Nice post, thank you for sharing this.
Visit us: Advanced Academy
Hello! can somebody explain it or do you have any explanation video/ paper?
Here we are providing one to one classes were teachers focusing on one student at a time, the classes are taken in a interactive manner
We offer classes for all subjects according to the students require.
The student can choose the subject they want and also can attend the class at your convenient time and day.https://anglebelearn.com
def count_substring(string, sub_string):
count = 0
str1 = str()
for i in range(0,len(string)):
str1+=str(string[i])
if sub_string in str1:
count+=1
str1 = string[i]
return count