sfondo
Volevo creare una bella nuvola di parole, in questo modo:
these are
words
floating
Ho calcolato le (x,y)
coordinate della prima lettera di ogni parola, le ho inserite nel mio generatore di word cloud e ho lasciato che facesse il suo lavoro. Tuttavia, ho usato accidentalmente (y,x)
coordinate, quindi il risultato è simile al seguente:
these
floating
words
are
Dato che sono troppo pigro per ricalcolare le coordinate, ho bisogno che tu trasponga la nuvola di parole per me.
Ingresso
Il tuo input è una griglia rettangolare di lettere e spazi ASCII minuscoli. Ciò significa che ogni riga è riempita con spazi per avere la stessa lunghezza. L'input può essere preso come una stringa multilinea o una matrice di stringhe.
Una parola è un segmento orizzontale di lettere e la sua posizione è le (x,y)
coordinate della sua lettera più a sinistra, essendo l'angolo in alto a sinistra della griglia (0,0)
. Ci sarà sempre almeno una parola e non ci sono righe o colonne finali di spazi. Tuttavia, possono essere presenti righe o colonne iniziali di spazi.
Produzione
L'output è un'altra griglia rettangolare di caratteri, ottenuta spostando ogni parola con posizione (x,y)
in posizione (y,x)
. L'output non deve contenere righe o colonne di spazi finali finali. Le righe e le colonne iniziali devono essere preservate e l'output deve essere rettangolare .
Si può presumere che questa trasformazione non crei parole sovrapposte e non unisca più parole in una sola. Ciò significa che l'esecuzione del programma sull'output dovrebbe produrre l'input originale.
Regole e punteggio
È possibile scrivere un programma completo o una funzione. Vince il conteggio di byte più basso e non sono consentite scappatoie standard.
Casi test
Per chiarezza (e poiché Stack Exchange non ama le righe di solo spazio), ogni riga termina con un carattere pipe |
.
Questi non fanno parte dell'input o dell'output effettivo e dovresti rimuoverli. Notare ancora che l'esecuzione del programma su ogni uscita dovrebbe produrre anche l'input corrispondente.
Input:
oneword|
Output:
oneword|
Input:
spaces|
Output:
|
|
spaces|
Input:
|
row|
Output:
row|
Input:
these are|
words |
|
floating |
Output:
these |
|
floating|
|
words |
|
|
|
are |
Input:
same|
the |
|
same |
Output:
same|
the |
|
same |
Input:
some |
words k|
|
|
|
still|
Output:
words |
|
some still|
|
|
|
k |
Input:
hello |
world hey|
what up |
Output:
what|
|
world|
hello |
|
|
|
up |
hey |
Input:
a b a d cc|
g h huh nng|
ye dunnn |
dud yo |
wha g |
huh heh hah|
Output:
|
g wha |
a ye huh|
h |
b dud |
dunnn |
huh heh|
a g |
|
d yo |
nng hah|
cc |