Convert a sentence into its equivalent mobile numeric keypad sequence (original) (raw)

Last Updated : 18 Jan, 2024

Given a sentence in the form of a string, convert it into its equivalent mobile numeric keypad sequence.

Mobile-keypad

**Examples :

**Input: GEEKSFORGEEKS
**Output: 4333355777733366677743333557777
**Explanation: For obtaining a number, we need to press a number corresponding to that character for a number of times equal to the position of the character. For example, for character E, press number 3 two times and accordingly.

**Input : HELLO WORLD
**Output : 4433555555666096667775553

Try It Yourselfredirect icon

**Approach: Follow the steps given below to convert a sentence into its equivalent mobile numeric keypad sequence.

Below is the implementation of above method :

C++ `

// C++ implementation to convert a // sentence into its equivalent // mobile numeric keypad sequence #include <bits/stdc++.h> using namespace std;

// Function which computes the sequence string printSequence(string arr[], string input) { string output = "";

// length of input string
int n = input.length();
for (int i = 0; i < n; i++) {
    // Checking for space
    if (input[i] == ' ')
        output = output + "0";

    else {
        // Calculating index for each
        // character
        int position = input[i] - 'A';
        output = output + arr[position];
    }
}

// Output sequence
return output;

}

// Driver Code int main() { // storing the sequence in array string str[] = { "2", "22", "222", "3", "33", "333", "4", "44", "444", "5", "55", "555", "6", "66", "666", "7", "77", "777", "7777", "8", "88", "888", "9", "99", "999", "9999" };

string input = "GEEKSFORGEEKS";
cout << printSequence(str, input);
return 0;

}

Java

// Java implementation to convert a // sentence into its equivalent // mobile numeric keypad sequence import java.util.*;

class GFG {

// Function which computes the sequence
static String printSequence(String arr[], String input)
{
    String output = "";

    // length of input string
    int n = input.length();
    for (int i = 0; i < n; i++) {
        // Checking for space
        if (input.charAt(i) == ' ')
            output = output + "0";

        else {
            // Calculating index for each
            // character
            int position = input.charAt(i) - 'A';
            output = output + arr[position];
        }
    }

    // Output sequence
    return output;
}

// Driver Code
public static void main(String[] args)
{
    // storing the sequence in array
    String str[]
        = { "2",    "22",  "222", "3",   "33", "333",
            "4",    "44",  "444", "5",   "55", "555",
            "6",    "66",  "666", "7",   "77", "777",
            "7777", "8",   "88",  "888", "9",  "99",
            "999",  "9999" };

    String input = "GEEKSFORGEEKS";
    System.out.println(printSequence(str, input));
}

}

// This code is contributed by Gitanjali.

Python3

Python3 implementation to convert

a sentence into its equivalent

mobile numeric keypad sequence

Function which computes the

sequence

def printSequence(arr, input):

# length of input string
n = len(input)
output = ""

for i in range(n):

    # checking for space
    if(input[i] == ' '):
        output = output + "0"
    else:
        # calculating index for each
        # character
        position = ord(input[i]) - ord('A')
        output = output + arr[position]
# output sequence
return output

Driver code

str = ["2", "22", "222", "3", "33", "333", "4", "44", "444", "5", "55", "555", "6", "66", "666", "7", "77", "777", "7777", "8", "88", "888", "9", "99", "999", "9999"]

input = "GEEKSFORGEEKS" print(printSequence(str, input))

This code is contributed by upendra bartwal

C#

// C# implementation to convert a // sentence into its equivalent // mobile numeric keypad sequence using System;

class GFG {

// Function which computes the sequence
static String printSequence(string[] arr, string input)
{
    string output = "";

    // length of input string
    int n = input.Length;
    for (int i = 0; i < n; i++) {
        // Checking for space
        if (input[i] == ' ')
            output = output + "0";

        else {
            // Calculating index for each
            // character
            int position = input[i] - 'A';
            output = output + arr[position];
        }
    }

    // Output sequence
    return output;
}

// Driver Code
public static void Main()
{
    // storing the sequence in array
    string[] str
        = { "2",    "22",  "222", "3",   "33", "333",
            "4",    "44",  "444", "5",   "55", "555",
            "6",    "66",  "666", "7",   "77", "777",
            "7777", "8",   "88",  "888", "9",  "99",
            "999",  "9999" };

    string input = "GEEKSFORGEEKS";
    Console.WriteLine(printSequence(str, input));
}

}

// This code is contributed by vt_m.

JavaScript

PHP

n=strlen(n = strlen(n=strlen(input); for ($i = 0; i<i < i<n; $i++) { // Checking for space if ($input[$i] == ' ') output=output = output=output + "0"; else { // Calculating index for each // character position=ord(position = ord(position=ord(input[$i]) - ord('A'); output=output = output=output . arr[arr[arr[position]; } } // Output sequence return $output; } // Driver Code // storing the sequence in array $str = array("2","22","222", "3","33","333", "4","44","444", "5","55","555", "6","66","666", "7","77","777","7777", "8","88","888", "9","99","999","9999"); $input = "GEEKSFORGEEKS"; echo printSequence($str, $input); // This code is contributed by ita_c ?>

`

Output

4333355777733366677743333557777

**Time complexity: O(N), For traversing the string
**Auxiliary Space: O(1)