# Convert a sentence into its equivalent mobile numeric keypad sequence

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

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

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

• For each character, store the sequence which should be obtained at its respective position in an array, i.e. for Z, store 9999. For Y, store 999. For K, store 55 and so on.
• For each character, subtract ASCII value of ‘A’ and obtain the position in the array pointedÂ
by that character and add the sequence stored in that array to a string.
• If the character is a space, store 0
• Print the overall sequence.

Below is the implementation of above method :Â

## C++

 `// C++ implementation to convert a``// sentence into its equivalent``// mobile numeric keypad sequence``#include ``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

 ``

Output
```4333355777733366677743333557777
```

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

Previous
Next