¿Cómo crear la mitad de la string en mayúsculas y la otra mitad en minúsculas?

Lo primero que debemos tener en cuenta al resolver este tipo de problema es que las strings son inmutables, es decir,

Si estoy tomando la siguiente string

var string1 = "geeksforgeeks";
string1[0] = "G";

console.log(string1);

Como las strings son inmutables, no podemos cambiar el carácter de la string, por lo que el resultado del código anterior será el siguiente.

Producción:

geeksforgeeks

Acercarse:

Hay varias formas de resolver este problema. Algunos de ellos son los siguientes.

  • Dividir la string en 2 partes diferentes y cambiar la primera parte a MAYÚSCULAS y concatenar las nuevas strings para obtener la salida.
  • Cree una string vacía y agréguele cada carácter de la string usando el bucle FOR .
  • Usando la propiedad de corte de strings para obtener la salida.

Método 1: Este método se implementa utilizando 2 nuevas variables.

  • Agregue la string a la variable.
  • Almacene la longitud de la string en una variable usando la función string.length .
  • Cree dos strings vacías que se utilizarán en el futuro para almacenar las strings recién creadas.
  • Uso de bucles for para atravesar la string.
  • Convierte la primera string a mayúsculas usando toUpperCase() .
  • Concatene ambas strings para obtener la salida.

C++

#include <iostream>
using namespace std;
 
int main() {
  string str = "geeksforgeeks",ans;
  int len = str.length();
   
  for(int i = 0;i<len;i++){
    if(i<=len/2){
      char a = toupper(str[i]);
      ans.push_back(a);
    }else
      ans.push_back(str[i]);
     
  }
  cout<<ans;
  return 0;
}
 
// This code is co ntributed by rohitsingh07052

Python3

import math
 
string1 = 'geeksforgeeks'
string1_len = len(string1)
part_a = ''
part_b = ''
 
for i in range(int(math.ceil(string1_len // 2 + 1))):
    part_a += string1[i]
 
for i in range(int(math.ceil(string1_len // 2)) + 1,
               string1_len):
    part_b += string1[i]
 
new_part_a = part_a.upper()
 
changed_string = new_part_a + part_b
 
print(changed_string)
 
# This code is contributed by ukasp

Javascript

<script>
var string1 = 'geeksforgeeks';
var string1_len = string1.length;
var part_a = '';
var part_b = '';
 
for(var i=0 ; i<Math.ceil(string1_len/2) ; i++)
{
    part_a+=string1[i];
}
 
for(var i=Math.ceil(string1_len/2) ; i<string1_len ; i++)
{
    part_b+=string1[i];
}
 
var new_part_a = part_a.toUpperCase();
 
var changed_string = new_part_a + part_b;
 
console.log(changed_string);
</script>
Producción

GEEKSFOrgeeks

Complejidad temporal: O(N)
Espacio auxiliar: O(1)

Método 2: este método se implementa utilizando una única variable nueva.

  • Agregue la string a la variable.
  • Almacene la longitud de la string en una variable usando la función string.length .
  • Cree una string vacía que se use en el futuro para almacenar la string recién creada.
  • Uso de bucles for para atravesar la string.
  • Registre la string final para obtener la salida.

C++

#include <iostream>
using namespace std;
 
string convertFun(string& s1, int n)
{
    string ans = "";
 
    // Running loop on first half and making it
    // upper case
    for (int i = 0; i < n / 2; i++) {
        ans += toupper(s1[i]);
    }
 
    // Running loop on secone half
    for (int i = n / 2; i < n; i++) {
        ans += s1[i];
    }
 
    return ans;
}
 
// Driver code
int main()
{
    string s1 = "geeksforgeeks";
    // Finding length of string
    int n = s1.size();
 
    cout << convertFun(s1, n);
 
    return 0;
}
 
// This code is added by Arpit Jain

Javascript

<script>
var string1 = 'gfg';
var string1_len = string1.length;
var changed_string = '';
 
for(var i=0 ; i<Math.ceil(string1_len/2) ; i++)
{
    changed_string+=string1[i].toUpperCase();
}
 
for(var i=Math.ceil(string1_len/2) ; i<string1_len ; i++)
{
    changed_string+=string1[i];
}
 
console.log(changed_string);
</script>

Python3

import math
 
string1 = 'gfg';
string1_len = len(string1)
 
changed_string = ''
 
for i in range(math.ceil(string1_len/2)):
    changed_string += string1[i].upper();
 
for i in range(math.ceil(string1_len/2), string1_len):
    changed_string += string1[i]
 
print(changed_string)
 
# This code is contributed by avanitrachhadiya2155
Producción

GEEKSForgeeks

Complejidad temporal: O(N)
Espacio auxiliar: O(1)

Método 3: este método se implementa mediante la propiedad JavaScript Slice .

  • Agregue la string a la variable.
  • Almacene la longitud de la string en una variable usando la función string.length .
  • Almacene el valor máximo de la mitad de la longitud de la string en la nueva variable.
  • Cree 2 strings vacías que se utilizarán en el futuro para almacenar las strings recién creadas.
  • Agregue strings a las variables usando la propiedad de corte de strings .
  • Convierta la primera string a mayúsculas usando toUpperCase( ).
  • Concatene ambas strings para obtener la salida.

Python3

import math
 
string1 = 'geeksforgeeks'
 
string1_len = len(string1)
 
half_string = math.ceil(string1_len/2)
 
part_a = ''
part_b = ''
 
part_a = string1[:half_string]
new_part_a = part_a.upper()
 
part_b = string1[half_string:string1_len]
 
changed_string = new_part_a+part_b
 
print(changed_string)
 
# This code is contributed by rag2127

Javascript

<script>
var string1 = 'geeks for geeks';
var string1_len = string1.length;
var half_string = Math.ceil(string1_len/2);
var part_a;
var part_b;
 
part_a = string1.slice(0,half_string);
var new_part_a = part_a.toUpperCase();
part_b = string1.slice(half_string,string1_len);
 
var changed_string = new_part_a+part_b;
 
console.log(changed_string);
</script>
Producción

GEEKSFOrgeeks

Complejidad temporal: O(N)
Espacio auxiliar: O(N)

De esta manera, puede resolver este tipo de problemas.

Publicación traducida automáticamente

Artículo escrito por rahulmahajann 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 *