Rip-off z rip-off z rip-off z rip-off . Głosujcie za tymi!
Twoim zadaniem, jeśli chcesz to zaakceptować, jest napisanie programu / funkcji, która wyprowadza / zwraca dane wejściowe / argument¹. Problem polega na tym, że jeśli transponuję kod źródłowy², wynik / wynik również musi zostać transponowany.
Możesz wybrać, jaki rodzaj danych 2D może zaakceptować twoje rozwiązanie. Na przykład lista list, macierz, lista ciągów itp. Określ, który z nich obsługuje. Możesz założyć, że wejście będzie zawsze prostokątne i będzie miało długość 1 lub więcej wzdłuż każdego wymiaru.
Do celów transpozycji krótkie linie w kodzie źródłowym będą traktowane jako dopełniane spacjami końcowymi, dopóki nie będą prostokątne, jednak te dopełniane spacje końcowe nie wpływają na długość kodu.
Ponieważ jest to kod-golf , celem jest optymalizacja liczby bajtów oryginalnego kodu źródłowego (nie transponowanej wersji).
Przykłady
Załóżmy, że twoje rozwiązanie przyjmuje macierz numeryczną, a kod źródłowy to
AB
DEF
a jego wejście / argument to [[1,2],[3,4],[5,6]]
. Jeśli napiszę
AD
BE
F
zamiast tego i uruchom go, wyjście / wynik musi być [[1,3,5],[2,4,6]]
.
Załóżmy, że Twoje rozwiązanie pobiera ciąg oddzielony od linii, a kod źródłowy to
ABC
a jego wejście / argument to "96\n"
. Jeśli napiszę
A
B
C
zamiast tego i uruchom go, wyjście / wynik musi być "9\n6\n"
.