Check if lowercase and uppercase characters are in same order
Given string str containing only lower and uppercase alphabets. The task is to check if both lowercase characters and uppercase characters follow the same order respectively.
Note: If a character occurs more than once in lowercase then the occurrence of the same character in the uppercase should be same.
Examples:
Input: str = "geeGkEEsKS" Output: Yes Lowercase = Beginner, Uppercase = Beginner Input: str = "GeEkKg" Output: No Lowercase = ekg, Uppercase = GEK
Approach:
- Traverse the string.
- Store the lowercase alphabets and uppercase alphabets in two separate strings lowerStr and upperStr respectively.
- Convert lowercase string to uppercase.
- Check if both uppercase strings are equal or not.
- Print Yes if equal, else print No.
Implementation:
C++
// C++ program to check if lowercase and // uppercase characters are in same order #include <bits/stdc++.h> using namespace std; // Function to check if both the // case follow the same order bool isCheck(string str) { int len = str.length(); string lowerStr = "" , upperStr = "" ; // Traverse the string for ( int i = 0; i < len; i++) { // Store both lowercase and uppercase // in two different strings if (str[i] >= 65 && str[i] <= 91) upperStr = upperStr + str[i]; else lowerStr = lowerStr + str[i]; } // using transform() function and ::toupper in STL transform(lowerStr.begin(), lowerStr.end(), lowerStr.begin(), :: toupper ); return lowerStr == upperStr; } // Driver code int main() { string str = "geeGkEEsKS" ; isCheck(str) ? cout << "Yes" : cout << "No" ; return 0; } |
Java
//Java program to check if lowercase and // uppercase characters are in same order public class GFG { //Function to check if both the //case follow the same order static boolean isCheck(String str) { int len = str.length(); String lowerStr = "" , upperStr = "" ; char [] str1 = str.toCharArray(); // Traverse the string for ( int i = 0 ; i < len; i++) { // Store both lowercase and uppercase // in two different strings if (( int )(str1[i]) >= 65 && ( int )str1[i] <= 91 ) upperStr = upperStr + str1[i]; else lowerStr = lowerStr + str1[i]; } // transform lowerStr1 to upper String transformStr = lowerStr.toUpperCase(); return (transformStr.equals(upperStr)); } //Driver code public static void main(String[] args) { String str = "geeGkEEsKS" ; if (isCheck(str)) System.out.println( "Yes" ); else System.out.println( "No" ); } } |
Python 3
# Python 3 program to Check if lowercase and # uppercase characters are in same order # Function to check if both the # case follow the same order def isCheck( str ) : length = len ( str ) lowerStr, upperStr = " ", " " # Traverse the string for i in range (length) : # Store both lowercase and # uppercase in two different # strings if ( ord ( str [i]) > = 65 and ord ( str [i]) < = 91 ) : upperStr = upperStr + str [i] else : lowerStr = lowerStr + str [i] # transform lowerStr to uppercase transformStr = lowerStr.upper() return transformStr = = upperStr # Driver Code if __name__ = = "__main__" : str = "geeGkEEsKS" if isCheck( str ) : print ( "Yes" ) else : print ( "No" ) # This code is contributed # by ANKITRAI1 |
C#
// C# program to check if lowercase and // uppercase characters are in same order using System; class GFG { //Function to check if both the //case follow the same order static bool isCheck( string str) { int len = str.Length; string lowerStr = "" , upperStr = "" ; char [] str1 = str.ToCharArray(); // Traverse the string for ( int i = 0; i < len; i++) { // Store both lowercase and uppercase // in two different strings if (( int )(str1[i]) >= 65 && ( int )str1[i] <= 91) upperStr = upperStr + str1[i]; else lowerStr = lowerStr + str1[i]; } // transform lowerStr1 to upper String transformStr = lowerStr.ToUpper(); return (transformStr.Equals(upperStr)); } //Driver code public static void Main(String[] args) { String str = "geeGkEEsKS" ; if (isCheck(str)) Console.WriteLine( "Yes" ); else Console.WriteLine( "No" ); } } |
Javascript
<script> // Javascript program to check if lowercase and // uppercase characters are in same order // Function to check if both the // case follow the same order function isCheck(str) { var len = str.length; var lowerStr = "" , upperStr = "" ; // Traverse the string for ( var i = 0; i < len; i++) { // Store both lowercase and uppercase // in two different strings if (str[i] >= 'A' && str[i] < 'a' ) upperStr = upperStr + str[i]; else lowerStr = lowerStr + str[i]; } lowerStr = lowerStr.toUpperCase(); console.log(lowerStr); return lowerStr === upperStr; } // Driver code var str = "geeGkEEsKS" ; isCheck(str) ? document.write( "Yes" ) : document.write( "No" ); </script> |
Output
Yes
Complexity Analysis:
- Time Complexity: O(len)
- Auxiliary Space: O(len), where len is the length of the string.
Contact Us