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:
// 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 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 |
# 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# 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 |
<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> |
3
Time complexity: O(n)
Auxiliary space: O(1)