Localizador de número de quarto
Encontrei uma técnica interessante para resolver problemas no meu trabalho quando recebi o número errado da sala de um colega para uma reunião. De vez em quando, a caminho de uma reunião, um membro da minha equipe me envia o número da sala errado, geralmente porque está com pressa na mesa e com o dedo gordo na tecla errada.
Curiosamente, ao chegar na sala errada, normalmente posso adivinhar qual sala eles realmente queriam imaginar imaginando um teclado numérico :
![]()
e adivinhando um número adjacente, eles pretendiam pressionar.
Desafio
Seu desafio é escrever uma função que use um número de escritório (000-999) e produza as possíveis soluções de erros de digitação, assumindo que seu colega digita incorretamente apenas um dígito.
A tabela a seguir mostra quais números são adjacentes um ao outro em um teclado numérico:
0 -> 1,2
1 -> 0,2,4
2 -> 0,1,3,5
3 -> 2,6
4 -> 1,5,7
5 -> 2,4,6,8
6 -> 3,5,9
7 -> 4,8
8 -> 5,7,9
9 -> 6,8
Entrada
Um número de 3 dígitos: 000-999. Suponha a entrada de exatamente 3 dígitos. Se o número for menor que 100 ou menor que 10, você receberá os zeros à esquerda. (ou seja, 004 e 028).
Saída
Uma lista de quartos possíveis. Pode ser da forma que você quiser, desde que exista um delimitador entre os números dos quartos. (ou seja, espaço, vírgula, nova linha, etc.) Se o número for menor que 100 ou menor que 10, você poderá ou não ter os zeros à esquerda como saída, isso depende de você. (ou seja, 004 pode ser 004 04 4e 028 pode ser 028 28)
Casos de teste (zeros à esquerda são opcionais):
008 -> 108, 208, 018, 028, 005, 007, 009
123 -> 023, 223, 423, 103, 113, 133, 153, 122, 126
585 -> 285, 485, 685, 885, 555, 575, 595, 582, 584, 586, 588
777 -> 477, 877, 747, 787, 774, 778
963 -> 663, 863, 933, 953, 993, 962, 966
555 -> 255, 455, 655, 855, 525, 545, 565, 585, 552, 554, 556, 558
Isso é código-golfe , portanto o código mais curto em bytes para cada idioma vence.
933então eu o consertei .
