Zainspirowany pytaniem Przepełnienie stosu: Sortowanie listy: liczby rosnące, litery malejące . Twoim zadaniem jest rozwiązanie następującego problemu, a ponieważ jest to gra w golfa , powinieneś to zrobić w jak najmniejszej liczbie bajtów.
Należy wziąć listę obiektów jako wkład zawierający litery (każdy rozsądny postaci: string
, char
itp) i liczb. Następnie należy posortować liczby w kolejności rosnącej, a litery w kolejności malejącej. Należy jednak trzymać litery na pozycjach literowych, a cyfry na pozycjach liczbowych. Na przykład, jeśli lista jest:
[L, D, L, L, D, L]
Lista wyjściowa powinna mieć postać:
[L, D, L, L, D, L]
Przebieg
Wkład: ['a', 2, 'b', 1, 'c', 3]
- Posortuj liczby w porządku rosnącym:
[1, 2, 3]
- Sortuj litery w kolejności malejącej:
['c', 'b', 'a']
- Dołącz do nich z powrotem, ale zachowaj kolejność:
['c', 1', 'b', 2, 'a', 3]
Zasady
- Lista będzie zawierać tylko litery i cyfry.
- Lista może być pusta.
- Lista może zawierać tylko litery lub tylko cyfry.
- Jeśli twój język nie obsługuje tablic mieszanych, możesz użyć cyfr zamiast cyfr. Pamiętaj, że jeśli Twój język to obsługuje, musisz używać typów mieszanych.
- Listy będą tylko
[a-z]
lub[A-Z]
możesz wybrać, który z nich. - Listy są sortowane jako
a
najniższe,z
najwyższe tja = 1, z = 26
. - Standardowe luki są zabronione.
- We / wy może być dowolnymi standardowymi środkami, w tym jako ciąg.
Przypadki testowe
[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]
Ponieważ jest to gra w golfa, najkrótsza odpowiedź w bajtach wygrywa!