Giriş:
Tam sayı listesi (hiçbir zaman sıfır içermez)
Çıktı:
Aşağıdakilere dayalı olarak aynı boyutta bir listedir:
- Geçerli öğe negatifse: Bu öğeden önceki tüm öğelere bakın ve diğer rakamlarda basamakların kaç kez oluştuğunu sayın
- Bunun yerine geçerli öğe pozitifse: Bu öğeden sonraki tüm öğelere bakın ve bu sayılardaki sayının kaç kez oluştuğunu sayın
Bir bükülme var: Listenin boyutu bile olsa, her sayıyı sadece bir kez sayarız (birden fazla hane ile eşleşse bile) ve boyut garip ise, geçerli öğenin her basamağı için sayıların her basamağını sayarız (çoğaltılmış) basamak birden çok kez sayılır).
Bunu biraz açıklığa kavuşturmak için bazı örnekler verelim:
Çift listeli örnek:
Input: [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2, 4, 1, 2, 1, 1, 5 ]
Listenin Boyutu bile sadece bir kez her sayısını yüzden.
4
: Olumlu, bu yüzden sabırsızlanıyoruz. Haneyi içeren üç sayı vardır4
(42
,-942
,8374
). Böylece bir ile başlayalım3
.10
: Olumlu, bu yüzden sabırsızlanıyoruz. Rakam1
ve / veya0
(-10
,-200
) içeren iki sayı vardır . Yani ikinci çıktı2
.42
: Yine olumlu, çok ileri. Basamak ya içeren dört numaraları vardır4
ve / veya2
(-942
,8374
,728
,-200
). Üçüncü çıktı4
.-10
: Bu sefer olumsuz, bu yüzden geriye bakıyoruz. Rakamı1
ve / veya0
(eksi işaretini yoksayıyoruz) (10
) içeren yalnızca bir sayı vardır . Dördüncü çıktı1
.- vb.
Tek listeli örnek:
Input: [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13, 2, 2, 4, 8, 3, 0, 11, 6 ]
Listenin boyutu garip , bu yüzden her basamağı sayıyoruz.
382
: Olumlu, bu yüzden sabırsızlanıyoruz. Orada biri3
diğer numaralar (içinde381
, altı)8
'diğer numaralar (içinde s-82, -8, 381, 228, 28, -28
) ve altı2
' diğer sayılarda s (-82, 228, 28, -28, 2
). Böylece bir ile başlayalım13
.-82
: Olumsuz, bu yüzden geriye. Kimse yok3
başka sayısında (382
) ve bir8
diğer sayısında (382
). Yani ikinci çıktı2
.- ...
228
: Olumlu, çok ileri. Üç vardır2
'diğer numaralar (içinde s28
,-28
,-2
) ve başka bir üç2
' ler ve iki8
'diğer sayılarda s (28
,-28
). Yani bu çıktı8
.- vb.
Zorluk kuralları:
- Girdinin hiçbir zaman
0
öğe olarak içermeyeceğini varsayabilirsiniz , çünkü bu ne olumlu ne de olumsuzdur. - Giriş listesinin her zaman en az iki öğe içerdiğini varsayabilirsiniz.
- G / Ç esnektir. Giriş / çıkış, tamsayıların dizisi / listesi, sınırlandırılmış dize, basamak / karakter matrisi vb. Olabilir.
- Listedeki ilk sayı negatif bir sayıysa veya listedeki son sayı pozitif bir sayıysa, ortaya çıkan listede 0 olur.
- Tek listelerde, aynı rakamı birden çok kez içeren sayılar,
228
yukarıdaki tek örnekte olduğu gibi8
(3 + 2) yerine (3 + 3 + 2) ile sonuçlanan birden çok kez sayılır5
.
Genel kurallar:
- Bu kod golf , bayt en kısa cevap kazanır.
Kod golf dillerinin, kod yazmayan dillerle yanıt göndermenizi engellemesine izin vermeyin. 'Herhangi bir' programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. - Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT, fonksiyonlar / yöntem uygun parametreler ve dönüş tipi, tam programlar ile kullanılabilir. Çağrınız.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
- Ayrıca, gerekirse bir açıklama ekleyin.
Test senaryoları:
Input: [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2, 4, 1, 2, 1, 1, 5 ]
Input: [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13, 2, 2, 4, 8, 3, 0, 11, 6 ]
Input: [10, -11, 12, -13, 14, -15, 16, -17, 18, -19]
Output: [9, 1, 7, 3, 5, 5, 3, 7, 1, 9 ]
Input: [10, -11, 12, -13, 14, -15, 16, -17, 18, -19, 20]
Output: [11, 2, 8, 4, 5, 6, 3, 8, 1, 10, 0 ]
Input: [88, 492, -938, 2747, 828, 84710, -29, -90, -37791]
Output: [8, 9, 3, 9, 3, 4, 5, 4, 12 ]
Input: [-1, 11, 11, 1]
Output: [0, 2, 1, 0]
Input: [1, 11, 11, -1]
Output: [3, 2, 1, 3 ]
Input: [-1, 11, 1]
Output: [0, 2, 0]
Input: [1, 11, -1]
Output: [3, 2, 3 ]
δ¢
, çift-vektör iyi kullanılmış görmedim, güzel bir.