Number of words in a camelcase sequence
CamelCase is the sequence of one or more than one words having the following properties:
- It is a concatenation of one or more words consisting of English letters.
- All letters in the first word are lowercase.
- For each of the subsequent words, the first letter is uppercase and rest of the letters are lowercase.
Given a CamelCase sequence represented as a string. The task is to find the number of words in the CamelCase sequence.
Examples:
Input : str = “geeksForGeeks”
Output : 3Input : str = “iGotAnInternInGeeksForGeeks”
Output : 8
Approach: As it is already known that the sequence is CamelCase, so it can be said that the number of words in the sequence will be one more than the number of uppercase letters.
- Iterate the sequence from the 2nd letter to the end of the sequence.
- No. of words will be equal to uppercase letters+1 during the 1st step iteration.
Below is the implementation of the above approach:
C++
// CPP code to find the count of words // in a CamelCase sequence #include <bits/stdc++.h> using namespace std; // Function to find the count of words // in a CamelCase sequence int countWords(string str) { int count = 1; for ( int i = 1; i < str.length() - 1; i++) { if ( isupper (str[i])) count++; } return count; } // Driver code int main() { string str = "geeksForGeeks" ; cout << countWords(str); return 0; } |
Java
// Java code to find the count of words // in a CamelCase sequence class solution { // Function to find the count of words // in a CamelCase sequence static int countWords(String str) { int count = 1 ; for ( int i = 1 ; i < str.length() - 1 ; i++) { if (str.charAt(i)>= 65 &&str.charAt(i)<= 90 ) count++; } return count; } // Driver code public static void main(String args[]) { String str = "geeksForGeeks" ; System.out.print( countWords(str)); } } //contributed by Arnab Kundu |
Python3
# Python code to find the count of words # in a CamelCase sequence # Function to find the count of words # in a CamelCase sequence def countWords( str ): count = 1 for i in range ( 1 , len ( str ) - 1 ): if ( str [i].isupper()): count + = 1 return count # Driver code str = "geeksForGeeks" ; print (countWords( str )) # This code is contributed # by sahishelangia |
C#
// C# code to find the count of words // in a CamelCase sequence using System; class GFG { // Function to find the count of words // in a CamelCase sequence static int countWords(String str) { int count = 1; for ( int i = 1; i < str.Length - 1; i++) { if (str[i] >= 65 && str[i] <= 90) count++; } return count; } // Driver code public static void Main(String []args) { String str = "geeksForGeeks" ; Console.Write(countWords(str)); } } // This code contributed by Rajput-Ji |
Javascript
<script> // Javascript code to find the count of words // in a CamelCase sequence // Function to find the count of words // in a CamelCase sequence function countWords(str) { let count = 1; for (let i = 1; i < str.length - 1; i++) { if (str[i]>= 'A' && str[i]<= 'Z' ) count++; } return count; } // driver program let str = "geeksForGeeks" ; document.write( countWords(str)); </script> |
Output
3
Time complexity: O(n)
Auxiliary space: O(1)
Please Login to comment...