Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Replace every character of a string by a different character

  • Difficulty Level : Medium
  • Last Updated : 13 Jul, 2021

Given a string str of lowercase alphabets only. The task is to replace every character by some new character. The new character belongs to $a-z$   (small case only) Replacement of str[i] is determined by:
 

str[i] = Character obtained after traversing ascii(str[i]) no. of characters in ‘a-z’ repeatedly after str[i].

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

Examples: 
 



Input: str = “geeksforgeeks” 
Output: fbbnddvbfbbnd
In the above case str = “geeksforgeeks”, 
the ASCII value of ‘g’ is 103 therefore ‘g’ has been replaced by moving 103 times from ‘g’ in the desired range i.e., a-z. 
Hence, character ‘g’ is replaced by ‘f’. 
Similarly, the complete string “geeksforgeeks” becomes “fbbnddvbfbbnd”.
Input: str = “science” 
Output: dxjbtxb

 

Approach: 
 

  1. Traverse the string.
  2. For every i, find the character that needs to be replaced with str[i].
  3. Replace str[i] with that character.

Below is the implementation of above approach: 
 

C++




// C++ program for Replace every character of a
// string by a different character
#include <bits/stdc++.h>
using namespace std;
 
// Function to manipulate the string
void manipulateString(string &str)
{
 
    // looping through each character of string
    for (int i = 0; i < str.length(); i++) {
 
        // storing integer ASCII value of
        // the character in 'asc'
        int asc = str[i];
 
        // 'rem' contains coded value which
        // needs to be rounded to 26
        int rem = asc - (26 - (str[i] - 'a'));
 
        // converting 'rem' character in range
        // 0-25 and storing in 'm'
        int m = rem % 26;
 
        // printing character by adding ascii value of 'a'
        // so that it becomes in the desired range i.e. a-z
        str[i] = (char)(m + 'a');
    }
}
 
// Driver code
int main()
{
 
    // Declaring str as 'geeksforgeeks'
    string str = "geeksforgeeks";
 
    manipulateString(str);
 
    cout << str;
 
    return 0;
}

Java




// Java program for Replace every character of a
// string by a different character
public class GFG {
 
    //Function to manipulate the string
    static void manipulateString(String str)
    {
 
        char[] str1 = str.toCharArray();
         
     // looping through each character of string
     for (int i = 0; i < str.length(); i++) {
 
         // storing integer ASCII value of
         // the character in 'asc'
          
         int asc = str1[i];
        
         // 'rem' contains coded value which
         // needs to be rounded to 26
         int rem = asc - (26 - (str1[i] - 97));
 
         // converting 'rem' character in range
         // 0-25 and storing in 'm'
         int m = rem % 26;
         
         // printing character by adding ascii value of 'a'
         // so that it becomes in the desired range i.e. a-z
         str1[i] = (char)(m + 'a');
             
     }
     
     String str2 = String.valueOf(str1);
     System.out.println(str2);
      
    }
 
    //Driver code
    public static void main(String[] args) {
         
        // Declaring str as 'geeksforgeeks'
         String str = "geeksforgeeks";
 
         manipulateString(str);
          
         
    }
}

Python 3




# Python 3 program for Replace every character of a
# string by a different character
 
# Function to manipulate the string
def manipulateString(str) :
 
    # looping through each character of string
    for i in range(len(str)) :
         
        # storing integer ASCII value of
        # the character in 'asc'
        asc = ord(str[i])
 
        # 'rem' contains coded value which
        # needs to be rounded to 26
        rem = asc - (26 - (ord(str[i]) - ord('a')))
 
        # converting 'rem' character in range
        # 0-25 and storing in 'm'
        = rem % 26
 
        #printing character by adding ascii value of 'a'
        # so that it becomes in the desired range i
        str[i] = chr(m + ord('a'))
 
    # join method join all individual
    # characters to form a string
    print(''.join(str))
 
# Driver code    
if __name__ == "__main__" :
 
    str = "geeksforgeeks"
 
    # convert string into list of characters
    str = list(str)
 
    # Function calling
    manipulateString(str)
 
  
# This code is contributed by ANKITRAI1

C#




     
// C# program for Replace every character of a
// string by a different character
using System;
public class GFG {
  
    //Function to manipulate the string
    static void manipulateString(String str)
    {
  
        char[] str1 = str.ToCharArray();
          
     // looping through each character of string
     for (int i = 0; i < str.Length; i++) {
  
         // storing integer ASCII value of
         // the character in 'asc'
           
         int asc = str1[i];
         
         // 'rem' contains coded value which
         // needs to be rounded to 26
         int rem = asc - (26 - (str1[i] - 97));
  
         // converting 'rem' character in range
         // 0-25 and storing in 'm'
         int m = rem % 26;
          
         // printing character by adding ascii value of 'a'
         // so that it becomes in the desired range i.e. a-z
         str1[i] = (char)(m + 'a');
              
     }
      
     String str2 = String.Join("",str1);
     Console.WriteLine(str2);
       
    }
  
    //Driver code
    public static void Main() {
          
        // Declaring str as 'geeksforgeeks'
         String str = "geeksforgeeks";
         manipulateString(str);
           
          
    }
}
// This code is contributed by PrinciRaj1992

Javascript




<script>
 
// Javascript program for Replace every character of a
// string by a different character
 
 
// Function to manipulate the string
function manipulateString(str)
{
 
    // looping through each character of string
    for (var i = 0; i < str.length; i++) {
 
        // storing integer ASCII value of
        // the character in 'asc'
        var asc = str[i];
 
        // 'rem' contains coded value which
        // needs to be rounded to 26
        var rem = asc.charCodeAt(0) - (26 - (str[i].charCodeAt(0) - 'a'.charCodeAt(0)));
 
        // converting 'rem' character in range
        // 0-25 and storing in 'm'
        var m = (rem % 26);
 
        // printing character by adding ascii value of 'a'
        // so that it becomes in the desired range i.e. a-z
        str[i] = String.fromCharCode(m + 'a'.charCodeAt(0));
    }
    return str;
}
 
// Driver code
// Declaring str as 'geeksforgeeks'
var str = "geeksforgeeks";
document.write(manipulateString(str.split('')).join(''));
 
</script>
Output: 
fbbnddvbfbbnd

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :