Compruebe si los caracteres en minúsculas y mayúsculas están en el mismo orden

Dada una string str que contiene solo letras mayúsculas y minúsculas. La tarea es verificar si tanto los caracteres en minúsculas como los caracteres en mayúsculas siguen el mismo orden respectivamente. 
Nota: si un carácter aparece más de una vez en minúsculas, la aparición del mismo carácter en mayúsculas debe ser la misma.
Ejemplos: 
 

Input: str = "geeGkEEsKS"
Output: Yes
Lowercase = geeks, Uppercase = GEEKS

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

Acercarse: 
 

  1. Atraviesa la cuerda.
  2. Almacene los alfabetos en minúsculas y mayúsculas en dos strings separadas lowerStr y upperStr respectivamente.
  3. Convierte una string de minúsculas a mayúsculas.
  4. Compruebe si ambas strings en mayúsculas son iguales o no.
  5. Escriba Sí si es igual, de lo contrario escriba No.

A continuación se muestra la implementación del enfoque anterior: 
 

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>
Producción: 

Yes

 

Complejidad de tiempo: O (len)

Espacio auxiliar: O(len), donde len es la longitud de la string.

Publicación traducida automáticamente

Artículo escrito por Shivam.Pradhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *