Ingresso:
Due stringhe senza newline o spazi bianchi.
Produzione:
Entrambe le stringhe di input su righe separate, con spazi ove necessario † per una delle due stringhe. Ed una terza linea con i personaggi A, R, Me , in rappresentanza aggiunto , rimosso , modificato , e invariato .
† Aggiungiamo spazi alla stringa di input superiore o inferiore (se necessario). L'obiettivo di questa sfida è quello di produrre con il minor numero possibile di modifiche ( ARM), noto anche come distanza di Levenshtein .
Esempio:
Diciamo che le stringhe di input sono ABCDEFe AFBECD, quindi l'output sarebbe questo:
A B CDEF
AFBECD
A A RR
Ecco alcuni altri possibili output non validi come esempio (e ce ne sono molti altri):
ABCDEF
AFBECD
MMMMM
A BCDEF
AFBECD
A MMMR
AB CDEF
AFBECD
MAMMMR
ABC DEF
AFBECD
MMAMMR
ABC DEF
AFBECD
MMAA RR
ABCDEF
AFB ECD
MMR MA
AB CDEF // This doesn't make much sense,
AFBECD // but it's to show leading spaces are also allowed
AM A RR
Nessuno di questi ha solo quattro modifiche, quindi A B CDEF\nAFBECD \n A A RRè solo un output valido per questa sfida.
Regole della sfida:
- Puoi supporre che le stringhe di input non contengano nuove righe o spazi.
- Le due stringhe di input possono avere lunghezze diverse.
- Una delle due stringhe di input dovrebbe rimanere così com'è, ad eccezione degli spazi iniziali / finali opzionali.
- Se le tue lingue non supportano nulla oltre a ASCII, puoi supporre che l'input contenga solo caratteri ASCII stampabili.
- Il formato di input e output è flessibile. Puoi avere tre stringhe separate, una matrice di stringhe, una singola stringa con nuove righe, una matrice di caratteri 2D, ecc.
- Ti è permesso usare qualcos'altro invece di
ARM, ma indica ciò che hai usato (cioè123, oabc., ecc.) - Se è possibile più di un output valido con la stessa quantità di modifiche (
ARM), è possibile scegliere se emettere uno dei possibili output o tutti. Gli spazi iniziali e finali sono facoltativi:
A B CDEF AFBECD A A RRo
"A B CDEF\nAFBECD\n A A RR" ^ Note there are no spaces here
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti, programmi completi. La tua chiamata.
- Sono vietate le scappatoie predefinite .
- Se possibile, aggiungi un link con un test per il tuo codice.
- Inoltre, si prega di aggiungere una spiegazione, se necessario.
Casi test:
In: "ABCDEF" & "AFBECD"
Output (4 changes):
A B CDEF
AFBECD
A A RR
In: "This_is_an_example_text" & "This_is_a_test_as_example"
Possible output (13 changes):
This_is_an _example_text
This_is_a_test_as_example
MAAAAAAA RRRRR
In: "AaAaABBbBBcCcCc" & "abcABCabcABC"
Possible output (10 changes):
AaAaABBbBBcCcCc
abcABCab cABC
R MM MMMR MM R
In: "intf(){longr=java.util.concurrent.ThreadLocalRandom.current().nextLong(10000000000L);returnr>0?r%2:2;}" & "intf(){intr=(int)(Math.random()*10);returnr>0?r%2:2;}"
Possible output (60 changes):
intf(){longr=java.util.concurrent.ThreadLocalRandom.current().nextLong(10000000000L);returnr>0?r%2:2;}
intf(){i ntr=( i n t)(M ath.r andom ()* 10 );returnr>0?r%2:2;}
MR M MRRRRRR RRRR RRRRRR MMMRR MMMMRRR RRRRRRRR MRRRRRRRRR RRRRRRRRRR
In: "ABCDEF" & "XABCDF"
Output (2 changes):
ABCDEF
XABCD F
A R
In: "abC" & "ABC"
Output (2 changes):
abC
ABC
MM
