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 math string1 = '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_b print (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 code int 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 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 |
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 math string1 = '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_b print (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!