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 = "neveropen"; 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:
neveropen
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 = "neveropen",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 mathstring1 = 'neveropen'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_bprint(changed_string)# This code is contributed by ukasp |
Javascript
<script>var string1 = 'neveropen';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> |
GEEKSFOrneveropen
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 codeint main(){ string s1 = "neveropen"; // 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 mathstring1 = '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 |
GEEKSForneveropen
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.
Python3
import mathstring1 = 'neveropen'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_bprint(changed_string)# This code is contributed by rag2127 |
Javascript
<script>var string1 = 'neveropen for neveropen';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> |
GEEKSFOrneveropen
Time Complexity: O(N)
Auxiliary Space: O(N)
In these ways, you can solve these kinds of problems.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Find More Information here on that Topic: geeksforgeeks.org/how-to-create-half-of-the-string-in-uppercase-and-the-other-half-in-lowercase/ […]