Memasukkan:
Dua string tanpa baris baru atau spasi putih.
Keluaran:
Kedua string masukan pada baris terpisah, dengan ruang di mana diperlukan † untuk salah satu dari dua string. Dan baris ketiga dengan karakter A
, R
, M
dan , yang mewakili menambahkan , dihapus , dimodifikasi , dan tidak berubah .
† Kami menambahkan spasi ke string input atas atau bawah (jika perlu). Tujuan dari tantangan ini adalah untuk menghasilkan dengan jumlah perubahan paling sedikit ( ARM
) yang mungkin, juga dikenal sebagai jarak Levenshtein .
Contoh:
Katakanlah string input adalah ABCDEF
dan AFBECD
, maka outputnya adalah ini:
A B CDEF
AFBECD
A A RR
Berikut adalah beberapa kemungkinan keluaran yang tidak valid sebagai contoh (dan ada banyak lagi):
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
Namun tidak satupun dari ini hanya memiliki empat perubahan, jadi hanya A B CDEF\nAFBECD \n A A RR
output yang valid untuk tantangan ini.
Aturan tantangan:
- Anda dapat mengasumsikan string input tidak akan mengandung baris atau spasi baru.
- Dua string input dapat memiliki panjang yang berbeda.
- Salah satu dari dua string input harus tetap apa adanya, kecuali untuk spasi opsional awal / akhir.
- Jika bahasa Anda tidak mendukung apa pun selain ASCII, Anda dapat menganggap bahwa input hanya akan berisi karakter ASCII yang dapat dicetak.
- Format input dan output fleksibel. Anda dapat memiliki tiga Strings terpisah, satu array String, satu String dengan baris baru, array karakter 2D, dll.
- Anda diizinkan menggunakan sesuatu yang lain sebagai ganti
ARM
, tetapi nyatakan apa yang telah Anda gunakan (yaitu123
, atauabc.
, dll.) - Jika lebih dari satu output yang valid dimungkinkan dengan jumlah perubahan yang sama (
ARM
), Anda dapat memilih apakah akan menampilkan salah satu output yang mungkin atau semuanya. Ruang depan dan belakang adalah opsional:
A B CDEF AFBECD A A RR
atau
"A B CDEF\nAFBECD\n A A RR" ^ Note there are no spaces here
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat, program lengkap. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, silakan tambahkan penjelasan jika perlu.
Kasus uji:
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