Enquanto escrevia números, notei depois de um tempo que meu teclado tinha a Shifttecla pressionada e bloqueada e tudo o que escrevi foram $%&
caracteres parecidos. E ainda pior, eu estava alternando entre os layouts de teclado em inglês e espanhol, para não saber qual deles usei para cada número.
Desafio
Dada uma sequência contendo caracteres de símbolo, tente adivinhar qual número eu escrevi. Meu teclado produz os seguintes caracteres para os números quando o Shiftbotão é pressionado:
1234567890
----------
!"·$%&/()= Spanish layout
!@#$%^&*() English layout
- A entrada será uma sequência não nula e não vazia composta pelos símbolos acima.
- A saída será um número único se o layout do teclado puder ser deduzido da string (ou seja, se a string contiver um
@
layout em inglês e se a string contiver um"
layout em espanhol) ou se o número for o mesmo para ambos os layouts (ou seja, a entrada é a!$
que se traduz como14
para os dois layouts); caso contrário, a saída será os dois números possíveis para os dois layouts, se não puderem ser inferidos e os números resultantes forem diferentes. - A string de entrada sempre será gravada em um único layout. Portanto, você não precisa esperar
"@
como entrada.
Exemplos
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 é o código-golfe , portanto, pode ganhar o código mais curto para cada idioma!
·
é inútil para o espanhol, é usado apenas no idioma catalão.
{(8, 9, 6, 1), (9, 0, 7, 1)}
(para o quarto caso de teste) aceitável?
·
é um desafio ...