Open In App

How to create half of the string in uppercase and the other half in lowercase?

Improve
Improve
Like Article
Like
Save
Share
Report

The first thing that we have to keep in my mind while solving this kind of problem is that the strings are immutable i.e,

If I am taking the following string

var string1 = "geeksforgeeks";
string1[0] = "G";
console.log(string1);

As strings are immutable, so we cannot change the character of the string, so the output of the above code will be the following.

Output:

geeksforgeeks

Approach:

There are several ways to solve this problem. Some of them are as follows.

  • Splitting the string into 2 different parts and changing the first part to the UPPERCASE and concatenating the new strings to get the output.
  • Create an empty string and add each character of the string to it using FOR loop.
  • Using the slicing property of strings to get the output.

Method 1: This method is implemented using 2 new variables.

  • Add the string into the variable.
  • Store the length of the string into a variable using string.length function.
  • Create two empty strings which are used in the future to store the newly created strings.
  • Use of for loops to traverse in the string.
  • Convert the first string to the upper case using toUpperCase().
  • Concatenate both of the strings to get the output.

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


Java




public class GFG {
    public static void main(String[] args) {
        // Input string
        String str = "geeksforgeeks";
         
        // StringBuilder to store the result
        StringBuilder ans = new StringBuilder();
         
        // Get the length of the input string
        int len = str.length();
 
        // Loop through each character in the input string
        for (int i = 0; i < len; i++) {
            // Check if the current character is in the first half of the string
            if (i <= len / 2) {
                // Convert the character to uppercase and append it to the result
                char a = Character.toUpperCase(str.charAt(i));
                ans.append(a);
            } else {
                // If the character is in the second half, just append it as is
                ans.append(str.charAt(i));
            }
        }
         
        // Print the final result
        System.out.println(ans);
    }
}


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


C#




using System;
 
public class GFG
{
    public static void Main(string[] args)
    {
        // Input string
        string str = "geeksforgeeks";
 
        // String builder to store the result
        System.Text.StringBuilder ans = new System.Text.StringBuilder();
 
        // Get the length of the input string
        int len = str.Length;
 
        // Loop through each character in the input string
        for (int i = 0; i < len; i++)
        {
            // Check if the current character is in the first half of the string
            if (i <= len / 2)
            {
                // Convert the character to uppercase and append it to the result
                char a = char.ToUpper(str[i]);
                ans.Append(a);
            }
            else
            {
                // If the character is in the second half, just append it as is
                ans.Append(str[i]);
            }
        }
 
        // Print the final result
        Console.WriteLine(ans);
    }
}


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>


Output

GEEKSFOrgeeks

Time Complexity: O(N)
Auxiliary Space: O(1)

Method 2: This method is implemented using a single new variable.

  • Add the string into the variable.
  • Store the length of the string into a variable using string.length function.
  • Create an empty string that is used in the future to store the newly created string.
  • Use of for loops to traverse the string.
  • Log the final string to get the output.

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


Java




public class StringConversion {
    // Function to convert the first half of the string to
    // uppercase
    static String convertFun(String s1, int n)
    {
        StringBuilder ans = new StringBuilder();
 
        // Running loop on the first half and making it
        // uppercase
        for (int i = 0; i < n / 2; i++) {
            ans.append(Character.toUpperCase(s1.charAt(i)));
        }
 
        // Running loop on the second half
        for (int i = n / 2; i < n; i++) {
            ans.append(s1.charAt(i));
        }
 
        return ans.toString();
    }
 
    // Driver code
    public static void main(String[] args)
    {
        String s1 = "geeksforgeeks";
        // Finding the length of the string
        int n = s1.length();
 
        System.out.println(convertFun(s1, n));
    }
}


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


C#




using System;
 
class Program
{
    // Function to convert the first half of the string to uppercase
    static string ConvertFun(string s1, int n)
    {
        string ans = "";
 
        // Running loop on the first half and making it upper case
        for (int i = 0; i < n / 2; i++)
        {
            ans += char.ToUpper(s1[i]);
        }
 
        // Running loop on the second half
        for (int i = n / 2; i < n; i++)
        {
            ans += s1[i];
        }
 
        return ans;
    }
 
    // Driver code
    static void Main()
    {
        string s1 = "geeksforgeeks";
        // Finding the length of the string
        int n = s1.Length;
 
        Console.WriteLine(ConvertFun(s1, n));
 
        // This code is added by Arpit Jain
    }
}
 
// This code is contributed by shivamgupta310570


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>


Output

GEEKSForgeeks

Time Complexity: O(N)
Auxiliary Space: O(1)

Method 3: This method is implemented using the JavaScript Slice property.

  • Add the string into the variable.
  • Store the length of the string into a variable using string.length function.
  • Store the ceil value of half of the length of the string to the new variable.
  • Create 2 empty strings which are used in the future to store the newly created strings.
  • Add string to the variables using string slicing property.
  • Convert the first string to the upper case using toUpperCase().
  • Concatenate both of the strings to get the output.

C++




#include <cmath>
#include <iostream>
 
int main()
{
    // Given string
    std::string string1 = "geeks for geeks";
 
    // Calculate the length of the string
    int string1Len = string1.length();
 
    // Calculate the index to split the string into two
    // halves
    int halfString
        = static_cast<int>(std::ceil(string1Len / 2.0));
 
    // Declare variables to store the two parts of the
    // string
    std::string partA;
    std::string partB;
 
    // Extract the first half of the string
    partA = string1.substr(0, halfString);
 
    // Convert the first half to uppercase
    for (char& ch : partA) {
        ch = std::toupper(ch);
    }
 
    // Extract the second half of the string
    partB = string1.substr(halfString, string1Len);
 
    // Concatenate the modified first half and the second
    // half
    std::string changedString = partA + partB;
 
    // Print the modified string
    std::cout << changedString << std::endl;
 
    return 0;
}


Java




public class Main {
    public static void main(String[] args) {
        // Given string
        String string1 = "geeks for geeks";
 
        // Calculate the length of the string
        int string1Len = string1.length();
 
        // Calculate the index to split the string into two halves
        int halfString = (int) Math.ceil(string1Len / 2.0);
 
        // Declare variables to store the two parts of the string
        String partA;
        String partB;
 
        // Extract the first half of the string
        partA = string1.substring(0, halfString);
 
        // Convert the first half to uppercase
        String newPartA = partA.toUpperCase();
 
        // Extract the second half of the string
        partB = string1.substring(halfString, string1Len);
 
        // Concatenate the modified first half and the second half
        String changedString = newPartA + partB;
 
        // Print the modified string
        System.out.println(changedString);
    }
}


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


C#




using System;
 
class Program
{
    static void Main()
    {
        // Given string
        string string1 = "geeks for geeks";
 
        // Calculate the length of the string
        int string1Len = string1.Length;
 
        // Calculate the index to split the string into two halves
        int halfString = (int)Math.Ceiling(string1Len / 2.0);
 
        // Extract the first half of the string
        string partA = string1.Substring(0, halfString);
 
        // Convert the first half to uppercase
        partA = partA.ToUpper();
 
        // Extract the second half of the string
        string partB = string1.Substring(halfString, string1Len - halfString);
 
        // Concatenate the modified first half and the second half
        string changedString = partA + partB;
 
        // Print the modified string
        Console.WriteLine(changedString);
    }
}


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>


Output

GEEKS FOr geeks

Time Complexity: O(N)
Auxiliary Space: O(N)

In these ways, you can solve these kinds of problems.



Last Updated : 29 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads