Replace every character of a string by a different character

Given a string str of lowercase alphabets only. The task is to replace every character by some new character. The new character belongs to (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].

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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'));
  
        // coverting '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;
}
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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));
  
         // coverting '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);
           
          
    }
}
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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')))
  
        # coverting '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
    # charcters 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
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

      
// 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));
   
         // coverting '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
chevron_right

Output:
fbbnddvbfbbnd

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.




Article Tags :
Practice Tags :