Saturday, September 21, 2024
Google search engine
HomeData Modelling & AIProgram to find the Encrypted word

Program to find the Encrypted word

Given a string, the given string is an encrypted word, the task is to decrypt the given string to get the original word. Examples:

Input: str = “abcd”
Output: bdee
Explanation:
a -> a + 1 -> b
b -> b + 2 -> d
c -> c + 2 -> e
d -> d + 1 -> e

Input: str = “xyz”
Output: yaa
Explanation:
x -> x + 1 -> y
y -> y + 2 -> a
z -> z + 1 -> a

Approach:

  • Let the length of the string be n.
  • then the encrypted string will be:
  • Print the string after finding the scrypted word.

Below is the implementation of the above approach: 

C++




// C++ program to implement
// the above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the encrypted string
void findWord(string c, int n)
{
    int co = 0, i;
 
    // to store the encrypted string
    string s(n, ' ');
 
    for (i = 0; i < n; i++) {
        if (i < n / 2)
            co++;
        else
            co = n - i;
 
        // after 'z', it should go to a.
        if (c[i] + co <= 122)
            s[i] = (char)((int)c[i] + co);
        else
            s[i] = (char)((int)c[i] + co - 26);
    }
    cout << s;
}
 
// Driver code
int main()
{
    string s = "abcd";
    findWord(s, s.length());
    return 0;
}


Java




// Java program to implement the above approach
import java.util.*;
import java.io.*;
 
class GFG
{
 
// Static function declared to find
// the encrypted string
public static void findWord(String c, int n)
{
    int co = 0, i;
 
    // Character array to store
    //the encrypted string
    char s[] = new char[n];
     
    for (i = 0; i < n ; i++)
    {
        if (i < n / 2)
            co++;
        else
            co = n - i;
 
        // after 'z', it should go to a.
        if ((c.charAt(i) + co) <= 122)
            s[i] = (char)((int)c.charAt(i) + co);
        else
            s[i] = (char)((int)c.charAt(i) + co - 26);
    }
     
    // storing the character array in the string.
    String str = Arrays.toString(s);
    System.out.println(str);
}
 
// Driver code
public static void main(String args[])
{
    String s = "abcd";
    findWord(s, s.length());
}
}
 
// This code is contributed by Animesh_Gupta


Python3




# Python3 program to implement
# the above approach
 
# Function to find the encrypted string
def findWord(c, n):
    co = 0
     
    # to store the encrypted string
    s = [0] * n
    for i in range(n):
        if (i < n / 2):
            co += 1
        else:
            co = n - i
         
        # after 'z', it should go to a.
        if (ord(c[i]) + co <= 122):
            s[i] = chr(ord(c[i]) + co)
        else:
            s[i] = chr(ord(c[i]) + co - 26)
    print(*s, sep = "")
 
# Driver code
s = "abcd"
findWord(s, len(s))
 
# This code is contributed by SHUBHAMSINGH10


C#




// C# program to implement the above approach
using System;
 
class GFG
{
 
// Static function declared to find
// the encrypted string
public static void findWord(String c, int n)
{
    int co = 0, i;
 
    // Character array to store
    // the encrypted string
    char []s = new char[n];
     
    for (i = 0; i < n ; i++)
    {
        if (i < n / 2)
            co++;
        else
            co = n - i;
 
        // after 'z', it should go to a.
        if ((c[i] + co) <= 122)
            s[i] = (char)((int)c[i] + co);
        else
            s[i] = (char)((int)c[i] + co - 26);
    }
     
    // storing the character array in the string.
    String str = String.Join("",s);
    Console.WriteLine(str);
}
 
// Driver code
public static void Main(String []args)
{
    String s = "abcd";
    findWord(s, s.Length);
}
}
 
// This code is contributed by PrinciRaj1992


Javascript




// Function to find the encrypted string
function findWord(c, n) {
    let co = 0, i;
 
    // to store the encrypted string
    let s = new Array(n).fill(' ');
 
    for (i = 0; i < n; i++) {
        if (i < n / 2)
            co++;
        else
            co = n - i;
 
        // after 'z', it should go to a.
        if (c.charCodeAt(i) + co <= 122)
            s[i] = String.fromCharCode(c.charCodeAt(i) + co);
        else
            s[i] = String.fromCharCode(c.charCodeAt(i) + co - 26);
    }
    console.log(s.join(''));
}
 
// Driver code
let s = "abcd";
findWord(s, s.length);


Output:

bdee

Time Complexity: O(N)
Auxiliary Space: O(N), The extra space is used to store the result.

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

Dominic Rubhabha-Wardslaus
Dominic Rubhabha-Wardslaushttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Recent Comments