Oda Numarası Bulucu
Bir meslektaşımdan bir toplantı için yanlış oda numarası verildiğinde işimde ilginç bir problem çözme tekniği ile karşılaştım. Her şimdi ve sonra, bir toplantıya giderken, ekibimdeki bir üye bana yanlış oda numarasını gönderecek, çünkü genellikle masalarında acele ediyorlar ve yanlış parmağı yanlış parmakla kullanıyorlar.
İlginç bir şekilde, yanlış odaya vardıklarında, genellikle bir Sayısal Tuş Takımı düşünerek hangi odayı kastettiklerini tahmin edebilirim :
ve bitişik bir sayıyı tahmin ederek basmak istediler.
Meydan okuma
Buradaki zorluk, meslektaşınızın sadece bir rakamı yanlış yazdığı varsayılarak, bir bina ofisi numarası (000-999) alan ve olası yazım hatası çözümlerini veren bir işlev yazmaktır .
Aşağıdaki tabloda, Sayısal Tuş Takımı'nda hangi numaraların birbirine bitişik olduğu gösterilmektedir:
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
Giriş
3 basamaklı bir sayı: 000-999
. Tam olarak 3 hane girdi kabul edin. Sayı 100'den küçük veya 10'dan küçükse, size baştaki sıfırlar verilir. (yani, 004 ve 028).
Çıktı
Olası odaların bir listesi. Bu, oda numaraları arasında bir sınırlayıcı olduğu sürece, istediğiniz herhangi bir biçimde olabilir. (örn. boşluk, virgül, yeni satır, vb.) Sayı 100'den küçük veya 10'dan küçükse, çıktı olarak baştaki sıfırlara sahip olamazsınız veya olamaz, bu size bağlıdır. (yani 004 olabilir 004 04 4
ve 028 olabilir 028 28
)
Test Durumları (baştaki sıfırlar isteğe bağlıdır):
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
Bu kod golf , yani her dil için bayt cinsinden en kısa kod kazanır.
933
.