Given a string str consisting of a sentence, the task is to find the count of words in the given sentence that end with the given suffix suff.
Examples:
Input: str = “GeeksForGeeks is a computer science portal for geeks”, suff = “ks”
Output: 2
“GeeksForGeeks” and “geeks” are the only words ending with “ks”.Input: str = “This is a sample string”, suff = “is”
Output: 2
Approach:
- Extract all the words from the given sentence using the split() method.
- Now for every word check whether the current words ends with the given suffix using endsWith() method.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; template < size_t N> void splitString(string (&arr)[N], string str) { int n = 0; istringstream iss(str); for ( auto it = istream_iterator<string>(iss); it != istream_iterator<string>() && n < N; ++it, ++n) arr[n] = *it; } inline bool ends_with(std::string const & value, std::string const & ending) { if (ending.size() > value.size()) return false ; return std::equal(ending.rbegin(), ending.rend(), value.rbegin()); } // Function to return the count of words // in the given sentence that // end with the given suffix int endingWith(string str, string suff) { // To store the count int cnt = 0; const int size = 50; string words[size]; // Extract words from the sentence splitString(words, str); // For every word for ( int i = 0; i < size; i++) { // If it ends with the given suffix if (ends_with(words[i], suff)) cnt++; } return cnt; } // Driver code int main() { string str = "GeeksForGeeks is a computer " "science portal for geeks" ; string suff = "ks" ; cout << endingWith(str, suff); } // This code is contributed by pratham76 |
Java
// Java implementation of the approach class GFG { // Function to return the count of words // in the given sentence that // end with the given suffix static int endingWith(String str, String suff) { // To store the count int cnt = 0 ; // Extract words from the sentence String words[] = str.split( " " ); // For every word for ( int i = 0 ; i < words.length; i++) { // If it ends with the given suffix if (words[i].endsWith(suff)) cnt++; } return cnt; } // Driver code public static void main(String args[]) { String str = "GeeksForGeeks is a computer" + " science portal for geeks" ; String suff = "ks" ; System.out.print(endingWith(str, suff)); } } |
Python3
# Function declared to # return the count of words # in the given sentence that # end with the given suffix def endingWith( str , suff ): # Variable to store count c = 0 # split function used to extract words # from sentence in form of list wrd = str .split( " " ) # using for loop with 'in' to extract # elements of list for l in wrd: if l.endswith(suff): c + = 1 # returning the count return c # Driver Code str = "GeeksForGeeks is a computer science portal for geeks" suff = "ks" # printing the final cde print (endingWith( str , suff )) # This code is contributed by Animesh_Gupta |
C#
// C# implementation of the approach using System; class GFG{ // Function to return the count of words // in the given sentence that // end with the given suffix static int endingWith( string str, string suff) { // To store the count int cnt = 0; string []sep = { " " }; // Extract words from the sentence string []words = str.Split(sep, StringSplitOptions.RemoveEmptyEntries); // For every word for ( int i = 0; i < words.Length; i++) { // If it ends with the given suffix if (words[i].EndsWith(suff)) cnt++; } return cnt; } // Driver code public static void Main( string []args) { string str = "GeeksForGeeks is a computer" + " science portal for geeks" ; string suff = "ks" ; Console.Write(endingWith(str, suff)); } } // This code is contributed by rutvik |
Javascript
// Javascript ptogram for the above approach // Function declared to // return the count of words // in the given sentence that // end with the given suffix function endingWith(str, suff) { // Variable to store count let c = 0; // split function used to extract words // from sentence in form of list let wrd = str.split( " " ); // using for loop with 'in' to extract // elements of list for (let i = 0; i < wrd.length; i++) { if (wrd[i].endsWith(suff)) { c += 1; } } // returning the count return c; } // Driver Code let str = "GeeksForGeeks is a computer science portal for geeks" ; let suff = "ks" ; // printing the final code console.log(endingWith(str, suff)); // This code is contributed by codebraxnzt |
2