Open In App

Encrypt a string into the Rovarspraket (The Robber Language)

Last Updated : 24 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Given a string, task is to write a function translate() that will translate a text into “rovarspraket” (Swedish for “robber’s language”). That is, double every consonant and place an occurrence of “o” in between. 

Examples: 

Input : this is fun
Output : tothohisos isos fofunon
t is consonant then double the consonant and place “o” in between, 
So it becomes “tot” and do this for full string

Input : geeks
Output : gogeekoksos

Implementation:

C++




// C++ implementation to Encrypt a
// string into the rovarspraket (Robber Language)
#include <iostream>
using namespace std;
 
// Function return translated string
string translate(string a)
{
    // Length of the string
    int len = a.length();
    string res = "";
 
    // Run till length of string
    for (int i = 0; i < len; i++) {
        // checking if character is vowel,
        // if yes then append it as it is
        if (a[i] == 'a' || a[i] == 'e' || a[i] == 'i'
            || a[i] == 'o' || a[i] == 'u') {
            res = res + a[i];
        }
 
        // if space then append as it is
        else if (a[i] == ' ') {
            res = res + a[i];
        }
 
        // else double the consonant and put o in between
        else {
            res = res + a[i] + 'o' + a[i];
        }
    }
 
    // return translated string
    return res;
}
 
// Driver Code
int main()
{
    string str = "geeks for geeks";
 
    // Calling function
    cout << translate(str) << endl;
    return 0;
}


Java




// Java implementation to Encrypt a
// String into the rovarspraket (Robber Language)
import java.util.*;
 
class GFG {
 
    // Function return translated String
    static String translate(String a)
    {
        // Length of the String
        int len = a.length();
        String res = "";
 
        // Run till length of String
        for (int i = 0; i < len; i++) {
            // checking if character is vowel,
            // if yes then append it as it is
            if (a.charAt(i) == 'a' || a.charAt(i) == 'e'
                || a.charAt(i) == 'i' || a.charAt(i) == 'o'
                || a.charAt(i) == 'u') {
                res = res + a.charAt(i);
            }
 
            // if space then append as it is
            else if (a.charAt(i) == ' ') {
                res = res + a.charAt(i);
            }
 
            // else double the consonant and
            // put o in between
            else {
                res = res + a.charAt(i) + 'o' + a.charAt(i);
            }
        }
 
        // return translated String
        return res;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        String str = "geeks for geeks";
 
        // Calling function
        System.out.println(translate(str));
    }
}
 
// This code is contributed by PrinciRaj1992


Python




# Python implementation to Encrypt a
# string into the rovarspraket (Robber Language)
 
 
def translate(a):
    c = 0
    x = ""
 
    # Count length of string
    for i in a:
        c += 1
    for i in range(0, c):
        # If alphabet is vowel, do not change
        if a[i] == 'a' or a[i] == 'e' or a[i] == 'i' or a[i] == 'o' or a[i] == 'u':
            b = a[i]
            x += b
 
        # else double the consonant and put 'O' in between the alphabet
        else if a[i] != " ":
            b = a[i] + 'o' + a[i]
            x += b
 
        # if string has space than put space
        else if a[i] == " ":
            x += a[i]
 
    # print string
    print(x)
 
 
s = "geeks for geeks"
translate(s)


C#




// C# implementation to Encrypt a
// String into the rovarspraket (Robber Language)
using System;
 
class GFG {
 
    // Function return translated String
    static String translate(String a)
    {
        // Length of the String
        int len = a.Length;
        String res = "";
 
        // Run till length of String
        for (int i = 0; i < len; i++) {
            // checking if character is vowel,
            // if yes then append it as it is
            if (a[i] == 'a' || a[i] == 'e' || a[i] == 'i'
                || a[i] == 'o' || a[i] == 'u') {
                res = res + a[i];
            }
 
            // if space then append as it is
            else if (a[i] == ' ') {
                res = res + a[i];
            }
 
            // else double the consonant and put o in
            // between
            else {
                res = res + a[i] + 'o' + a[i];
            }
        }
 
        // return translated string
        return res;
    }
 
    // Driver Code
    public static void Main(String[] args)
    {
        String str = "geeks for geeks";
 
        // Calling function
        Console.WriteLine(translate(str));
    }
}
 
// This code is contributed by PrinciRaj1992


Javascript




<script>
 
// JavaScript implementation to Encrypt a
// string into the rovarspraket (Robber Language)
 
// Function return translated string
function translate(a)
{
    // Length of the string
    let len = a.length;
    let res="";
     
    // Run till length of string
    for(let i=0; i<len ;i++)
    {
        // checking if character is vowel,
        // if yes then append it as it is
        if (a[i] == 'a' || a[i]== 'e' || a[i] == 'i' || a[i] == 'o' || a[i] == 'u')
        {
            res = res + a[i];
        }
         
        // if space then append as it is
        else if(a[i] == ' ')
        {
            res = res +a[i];
        }
         
        // else double the consonant and put o in between
        else
        {
            res =res+ a[i] + 'o' + a[i];
        }
    }
     
    // return translated string
    return res;
}
 
// Driver Code
 
let str = "geeks for geeks";
 
// Calling function
document.write(translate(str),"</br>");
 
// This code is contributed by shinjanpatra
 
</script>


Output

gogeekoksos foforor gogeekoksos

Time Complexity: O(len), //In the above-given approach, there is one loop for iterating over string which takes O(Len) time in worst case. Therefore, the time complexity for this approach will be O(Len).

Auxiliary Space: O(len) // since we are using an empty string for storing the characters hence the space taken is linear

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads