Bu Yığın Taşması sorusundan ilham alan: Liste sıralama: artan sayılar, azalan harfler . Göreviniz aşağıdaki sorunu çözmek ve bu kod golf olduğu için , mümkün olduğu kadar az sayıda yapmalısınız.
Sen girdi harfleri içeren olarak nesnelerin listesini almalı (herhangi bir makul formda: string
, char
, vs) ve numaraları. Daha sonra sayıları artan düzende ve harfleri azalan düzende sıralamanız gerekir. Ancak, harfleri harf pozisyonlarında ve rakamları sayı pozisyonlarında tutmalısınız. Örneğin, eğer liste:
[L, D, L, L, D, L]
Çıktı listesi şu şekilde olmalıdır:
[L, D, L, L, D, L]
Workthrough
Giriş: ['a', 2, 'b', 1, 'c', 3]
- Sayıları artan düzende sırala:
[1, 2, 3]
- Harfleri azalan düzende sıralayın:
['c', 'b', 'a']
- Onlara geri katılın ancak siparişi aynı tutun:
['c', 1', 'b', 2, 'a', 3]
kurallar
- Liste sadece harfler ve rakamlardan oluşacaktır.
- Liste boş olabilir.
- Liste sadece harfler veya sadece rakamlar içerebilir.
- Eğer dil karışık tip diziler desteklemiyor yerine sayıların basamak karakterleri kullanabilir. Diliniz bunu destekliyorsa, karışık türleri kullanmanız gerektiğini unutmayın.
- Harfler yalnızca olacak
[a-z]
veya[A-Z]
hangisini seçebileceğinizi seçebilirsiniz. - Harfler
a
en düşük,z
en yüksek gibi sıralanıra = 1, z = 26
. - Standart boşluklar yasaktır.
- G / Ç, bir dize olarak dahil olmak üzere herhangi bir standart yolla olabilir.
Test durumları
[5, 'a', 'x', 3, 6, 'b'] -> [3, 'x', 'b', 5, 6, 'a']
[ 3, 2, 1] -> [ 1, 2, 3 ]
[ 'a', 'b', 'c' ] -> [ 'c', 'b', 'a' ]
[] -> []
[ 2, 3, 2, 1 ] -> [1, 2, 2, 3]
Bu kod-golf olduğundan, bayt cinsinden en kısa cevap kazanır!