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 zdo 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.
zowija sięa, ale1idzie do0i0idzie do-1itp.- 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
intzakresu 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).
intzakresu języków , więc nigdy nie dostaniesz Integer.MinValuedanych wejściowych.