Mientras escribía números, noté después de un tiempo que mi teclado tenía la Shifttecla presionada y bloqueada y que todo lo que escribía eran $%&
caracteres similares. Y aún peor, había estado cambiando entre los diseños de teclado en inglés y español, así que no sé cuál usé para cada número.
Reto
Dada una cadena que contiene caracteres de símbolos, intenta adivinar qué número escribí. Mi teclado produce los siguientes caracteres para los números cuando Shiftse presiona:
1234567890
----------
!"·$%&/()= Spanish layout
!@#$%^&*() English layout
- La entrada será una cadena no nula y no vacía compuesta de los símbolos anteriores.
- La salida será un solo número si la distribución del teclado se puede inferir de la cadena (es decir, si la cadena contiene un
@
diseño en inglés y si la cadena contiene un"
diseño en español) o si el número es el mismo para ambos diseños (es decir, la entrada es la!$
que se traduce como14
para ambos diseños); de lo contrario, la salida serán los dos números posibles para ambos diseños si no se puede inferir y los números resultantes son diferentes. - La cadena de entrada siempre se escribirá en un diseño único. Por lo tanto, no necesita esperar
"@
como entrada.
Ejemplos
Input --> Output
------------------
/() 789 (Spanish layout detected by the use of /)
$%& 456,457 (Layout cannot be inferred)
!@# 123 (English layout detected by the use of @ and #)
()&! 8961,9071 (Layout cannot be inferred)
((·)) 88399 (Spanish layout detected by the use of ·)
!$ 14 (Layout cannot be inferred but the result is the same for both)
!!$$%% 114455 (Layout cannot be inferred but the result is the same for both)
==$" 0042/42 (Spanish layout, if a number starts with 0 you can choose to
omit them in the result or not)
Single character translations:
------------------------------
! 1
" 2
· 3
$ 4
% 5
& 6,7
/ 7
( 8,9
) 9,0
= 0
@ 2
# 3
^ 6
* 8
Este es el código de golf , ¡así que puede ganar el código más corto para cada idioma!
·
es inútil para el español, solo se usa en catalán.
{(8, 9, 6, 1), (9, 0, 7, 1)}
aceptable una salida como (para el cuarto caso de prueba)?
·
es un desafío ...