Losowo zainspirowany liczbami Zwiększaj, a zmniejszając litery
Biorąc pod uwagę listę mieszanych liter i liczb całkowitych (np. ['a', 2, 3, 'b']
), Zwiększ litery o jedną pozycję w alfabecie (zawijaj z
do a
) i zmniejsz cyfry o 1. W powyższym przykładzie wynik powinien być ['b', 1, 2, 'c']
.
- Dane wejściowe mogą być listą typu mieszanego, ciągiem rozdzielanym, listą ciągów itp.
z
owija sięa
, ale1
idzie do0
i0
idzie do-1
itp.- Dane wejściowe zawsze będą
[a-z]
i liczbami całkowitymi. Możesz wybrać duże litery[A-Z]
jako dane wejściowe, jeśli jest to dla ciebie łatwiejsze. - Wejście jest gwarantowane jako niepuste.
- Dane wejściowe mogą zawierać tylko cyfry lub tylko litery.
Przykłady:
Input
Output
['a', 2, 3, 'b']
['b', 1, 2, 'c']
['a', 'b', 'z']
['b', 'c', 'a']
[-1, 0, 257, 'x']
[-2, -1, 256, 'y']
[0, 3, 1, 20382876]
[-1, 2, 0, 20382875]
Zasady i wyjaśnienia
- Dane wejściowe i wyjściowe można podać dowolną dogodną metodą .
- Możesz wydrukować wynik do STDOUT lub zwrócić go jako wynik funkcji.
- Dane wyjściowe nie muszą mieć tego samego formatu co dane wejściowe (np. Dane wejściowe można traktować jako ciąg znaków, a dane wyjściowe jako listę).
- Dopuszczalny jest pełny program lub funkcja.
- Jeśli dotyczy, możesz założyć, że liczby całkowite wejścia / wyjścia pasują do natywnego
int
zakresu twojego języka . - Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
int
zakresu języków , więc nigdy nie dostaniesz Integer.MinValue
danych wejściowych.