Open In App

Check if lowercase and uppercase characters are in same order

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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 = geeks, Uppercase = GEEKS

Input: str = "GeEkKg"
Output: No
Lowercase = ekg, Uppercase = GEK

Approach:  

  1. Traverse the string.
  2. Store the lowercase alphabets and uppercase alphabets in two separate strings lowerStr and upperStr respectively.
  3. Convert lowercase string to uppercase.
  4. Check if both uppercase strings are equal or not.
  5. 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.


Last Updated : 02 Sep, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads