Rakamlar yazarken bir süre sonra klavyemin Shifttuşa basılmış ve bloke edildiğini ve yazdığım tek şeyin $%&
karakterleri olduğunu fark ettim . Ve daha da kötüsü, İngilizce ve İspanyolca klavye düzenleri arasında geçiş yapıyordum, bu yüzden her bir numara için hangisini kullandığımı bilmiyorum.
Meydan okuma
Sembol karakterleri içeren bir dize verildiğinde, hangi sayıyı yazdığımı tahmin etmeye çalışın. Klavyem Shift, basıldığında sayılar için aşağıdaki karakterleri üretir :
1234567890
----------
!"·$%&/()= Spanish layout
!@#$%^&*() English layout
- Giriş, yukarıdaki simgelerden oluşan boş olmayan, boş olmayan bir dize olacaktır.
- Klavye düzeni dizeden çıkarılabilirse (örneğin dize
@
bir İngilizce düzen içeriyorsa ve dize"
bir İspanyolca düzen içeriyorsa ) ya da sayı aynı ise çıktı her iki düzende (yani giriş, her iki düzende!$
olduğu gibi çevrilir14
); Aksi halde, sonuç çıkarılamıyorsa ve sonuçtaki sayılar farklıysa, her iki düzen için de iki olası sayı olacaktır. - Giriş dizesi her zaman tek bir düzende yazılacaktır. Yani
"@
girdi olarak beklemenize gerek yok .
Örnekler
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
Bu kod golf , yani her dilin kazanması için en kısa kod olabilir!
·
İspanyolca için işe yaramaz, sadece Katalanca dilinde kullanılıyor.
{(8, 9, 6, 1), (9, 0, 7, 1)}
(4. test durumu için) kabul edilebilir mi?
·