Dada uma frase na forma de uma string, converta-a em sua sequência de teclado numérico móvel equivalente. 
 

Teclado móvel

Exemplos : 
 

Input : GEEKSFORGEEKS
Output : 4333355777733366677743333557777
For obtaining a number, we need to press a
number corresponding to that character for 
number of times equal to position of the 
character. For example, for character C, 
we press number 2 three times and accordingly.

Input : HELLO WORLD
Output : 4433555555666096667775553

Siga as etapas fornecidas abaixo para converter uma frase em sua sequência equivalente do teclado numérico móvel. 
 

  • Para cada caractere, armazene a sequência que deve ser obtida em sua respectiva posição em uma array, ou seja, para Z, armazene 9999. Para Y, armazene 999. Para K, armazene 55 e assim por diante.
  • Para cada caractere, subtraia o valor ASCII de 'A' e obtenha a posição na array apontada 
    por aquele caractere e adicione a sequência armazenada nessa array a uma string.
  • Se o caractere for um espaço, armazene 0
  • Imprima a seqüência geral.

Abaixo está a implementação do método acima: 
 

// 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 function
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 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 Function
    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 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# 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 Function
    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.
<?php
// PHP implementation to convert a
// sentence into its equivalent
// mobile numeric keypad sequence
 
// Function which computes the sequence
function printSequence(&$arr, $input)
{
    $output = "";
 
    // length of input string
    $n = strlen($input);
    for ($i = 0; $i < $n; $i++)
    {
        // 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
 
// 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
?>
<script>
 
// Javascript implementation to convert a
// sentence into its equivalent
// mobile numeric keypad sequence
     
    // Function which computes the sequence
    function printSequence(arr,input)
    {
        let output = "";
       
        // length of input string
        let n = input.length;
        for (let i = 0; i < n; i++)
        {
            // Checking for space
            if (input[i] == ' ')
                output = output + "0".charCodeAt(0);
       
            else
            {
                // Calculating index for each
                // character
                let position = input[i].charCodeAt(0) - 'A'.charCodeAt(0);
                output = output + arr[position];
            }
        }
       
        // Output sequence
        return output;
    }
     
    // Driver Function
    let 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" ]
     
    let input = "GEEKSFORGEEKS";
    document.write(printSequence(str, input));
     
    // This code is contributed by avanitrachhadiya2155
</script>

Saída : 
 

4333355777733366677743333557777

Complexidade de tempo: O (n) 
 

<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="374" src="https://www.youtube.com/embed/hE4Nn7o4GFw?feature=oembed" width="665"></iframe>