Pencari Nomor Kamar
Saya telah menemukan teknik pemecahan masalah yang menarik di pekerjaan saya ketika diberi nomor kamar yang salah dari seorang kolega untuk rapat. Sesekali, saat dalam perjalanan ke sebuah pertemuan, seorang anggota di tim saya akan mengirim saya nomor kamar yang salah, biasanya karena mereka terburu-buru di meja mereka dan jari yang salah kunci yang salah.
Menariknya, setibanya di ruangan yang salah, saya biasanya bisa menebak kamar mana yang mereka maksud dengan membayangkan Keypad Numerik :
![]()
dan dengan menebak nomor yang berdekatan, mereka bermaksud menekan.
Tantangan
Tantangan Anda adalah menulis fungsi yang menggunakan nomor gedung kantor (000-999) dan menampilkan kemungkinan solusi salah ketik, dengan asumsi kolega Anda hanya salah ketik satu digit.
Tabel berikut menunjukkan nomor mana yang berdekatan satu sama lain pada Keypad Numerik:
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
Memasukkan
3 digit angka: 000-999 . Asumsikan input tepat 3 digit. Jika jumlahnya kurang dari 100 atau kurang dari 10, Anda akan diberi angka nol di depan. (yaitu 004 & 028).
Keluaran
Daftar kamar yang memungkinkan. Ini bisa dalam bentuk apa pun yang Anda inginkan, asalkan ada pembatas antara nomor kamar. (mis. spasi, koma, baris baru, dll.) Jika angkanya kurang dari 100 atau kurang dari 10, Anda dapat atau tidak dapat memiliki nol terkemuka sebagai output, itu terserah Anda. (Yaitu 004 bisa 004 04 4, dan 028 bisa 028 28)
Kasus Uji (angka nol di depan adalah opsional):
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
Ini adalah kode-golf , jadi kode terpendek dalam byte untuk setiap bahasa akan menang.
933jadi saya sudah memperbaikinya.
