Raumnummernfinder
Ich habe in meinem Job eine interessante Problemlösungstechnik gefunden, als ich von einem Kollegen die falsche Zimmernummer für ein Meeting erhalten habe. Von Zeit zu Zeit schickt mir ein Mitglied meines Teams auf dem Weg zu einer Besprechung die falsche Zimmernummer, normalerweise, weil es an seinem Schreibtisch eilig ist und der dicke Finger den falschen Schlüssel hat.
Interessanterweise kann ich bei der Ankunft im falschen Zimmer normalerweise erraten, welches Zimmer sie wirklich meinten, indem ich mir ein numerisches Tastenfeld vorstelle :
![]()
und indem sie eine benachbarte Zahl erraten, wollten sie drücken.
Herausforderung
Ihre Herausforderung besteht darin, eine Funktion zu schreiben, die eine Büronummer (000-999) annimmt und die möglichen Tippfehlerlösungen ausgibt, vorausgesetzt, Ihr Kollege gibt nur eine Ziffer falsch ein.
Die folgende Tabelle zeigt, welche Nummern auf einem Ziffernblock nebeneinander liegen:
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
Eingang
Eine 3 - stellige Nummer: 000-999. Nehmen Sie die Eingabe von genau 3 Stellen an. Wenn die Zahl kleiner als 100 oder kleiner als 10 ist, erhalten Sie die führenden Nullen. (dh 004 & 028).
Ausgabe
Eine Liste der möglichen Zimmer. Dies kann in beliebiger Form erfolgen, sofern ein Trennzeichen zwischen den Zimmernummern vorhanden ist. (dh Leerzeichen, Komma, neue Zeile usw.) Wenn die Zahl kleiner als 100 oder kleiner als 10 ist, können Sie die führenden Nullen als Ausgabe haben oder nicht, das liegt an Ihnen. (dh 004 kann sein 004 04 4, und 028 kann sein 028 28)
Testfälle (führende Nullen sind optional):
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
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes für jede Sprache.
933, ich habe es behoben.
