From 5a407621202426b78536f8acf355bd9962d6d079 Mon Sep 17 00:00:00 2001 From: Cesar-Ch Date: Sun, 27 Aug 2023 20:06:07 -0500 Subject: [PATCH] Reto #30 - Javascript --- .../javascript/cesar-ch.js | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Retos/Reto #30 - EL TECLADO T9 [Media]/javascript/cesar-ch.js diff --git a/Retos/Reto #30 - EL TECLADO T9 [Media]/javascript/cesar-ch.js b/Retos/Reto #30 - EL TECLADO T9 [Media]/javascript/cesar-ch.js new file mode 100644 index 0000000000..fd10107c5e --- /dev/null +++ b/Retos/Reto #30 - EL TECLADO T9 [Media]/javascript/cesar-ch.js @@ -0,0 +1,36 @@ +/* + * Los primeros dispositivos móviles tenían un teclado llamado T9 + * con el que se podía escribir texto utilizando únicamente su + * teclado numérico (del 0 al 9). + * + * Crea una función que transforme las pulsaciones del T9 a su + * representación con letras. + * - Debes buscar cuál era su correspondencia original. + * - Cada bloque de pulsaciones va separado por un guión. + * - Si un bloque tiene más de un número, debe ser siempre el mismo. + * - Ejemplo: + * Entrada: 6-666-88-777-33-3-33-888 + * Salida: MOUREDEV + */ + +const teclas = { + '2': 'abc', + '3': 'def', + '4': 'ghi', + '5': 'jkl', + '6': 'mno', + '7': 'pqrs', + '8': 'tuv', + '9': 'wxyz' +} + +function T9(pulsaciones) { + return pulsaciones.split('-').map(tecla => { + const num = tecla.length + return teclas[tecla[0]][num - 1] + }).join('') +} + + +console.log(T9('6-666-88-777-33-3-33-888'))// MOUREDEV +console.log(T9('5-2-888-2-7777-222-777-444-7-8'))// MOUREDEV \ No newline at end of file