การป้อนข้อมูล:
สองสายที่ไม่มีบรรทัดใหม่หรือช่องว่าง
เอาท์พุท:
ทั้งสองสายการป้อนข้อมูลบนเส้นที่แยกต่างหากที่มีช่องว่างในกรณีที่จำเป็น†หนึ่งในสองสาย และสายที่สามกับตัวละครA
, R
, M
และคิดเป็นเพิ่ม , ลบออก , การแก้ไขและเปลี่ยนแปลง
†เราเพิ่มช่องว่างให้กับสตริงป้อนข้อมูลด้านบนหรือด้านล่าง (ถ้าต้องการ) เป้าหมายของการท้าทายนี้คือการส่งออกมีจำนวนน้อยที่สุดของการเปลี่ยนแปลง ( ARM
) เป็นไปได้ยังเป็นที่รู้จักLevenshtein ระยะทาง
ตัวอย่าง:
สมมติว่าสตริงอินพุตเป็นABCDEF
และAFBECD
จากนั้นผลลัพธ์จะเป็น:
A B CDEF
AFBECD
A A RR
ต่อไปนี้เป็นตัวอย่างเอาต์พุตที่ไม่ถูกต้องอื่น ๆ ที่เป็นไปได้ (และมีอีกมาก):
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
สิ่งเหล่านี้ไม่มีการเปลี่ยนแปลงเพียงสี่อย่างเท่านั้นดังนั้นA B CDEF\nAFBECD \n A A RR
ผลลัพธ์ที่ถูกต้องสำหรับความท้าทายนี้
กฏท้าทาย:
- คุณสามารถสมมติว่าสายป้อนข้อมูลจะไม่มีบรรทัดใหม่หรือช่องว่างใด ๆ
- สตริงอินพุตสองสตริงมีความยาวต่างกัน
- หนึ่งในสองสายอินพุตควรยังคงเป็นเช่นยกเว้นช่องว่างชั้นนำ / ต่อท้ายตัวเลือก
- หากภาษาของคุณไม่รองรับอะไรนอกจาก ASCII คุณสามารถสมมติว่าการป้อนข้อมูลจะมีเฉพาะอักขระ ASCII ที่พิมพ์ได้
- รูปแบบอินพุตและเอาต์พุตมีความยืดหยุ่น คุณสามารถมีสาม Strings ที่แยกกันอาร์เรย์สตริงสตริงเดี่ยวที่มีบรรทัดใหม่อาร์เรย์อักขระ 2D และอื่น ๆ
- คุณได้รับอนุญาตให้ใช้อย่างอื่นแทน
ARM
แต่ระบุสิ่งที่คุณใช้ (เช่น123
หรือabc.
อื่น ๆ ) - หากมีเอาต์พุตที่ถูกต้องมากกว่าหนึ่งรายการที่มีจำนวนการเปลี่ยนแปลงเท่ากัน (
ARM
) คุณสามารถเลือกว่าจะเอาท์พุทที่เป็นไปได้อย่างใดอย่างหนึ่งหรือทั้งหมด ช่องว่างนำหน้าและต่อท้ายเป็นตัวเลือก:
A B CDEF AFBECD A A RR
หรือ
"A B CDEF\nAFBECD\n A A RR" ^ Note there are no spaces here
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ
อย่าปล่อยให้ภาษาที่ใช้รหัสกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ codegolfing พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานจะใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชัน / เมธอดพร้อมพารามิเตอร์ที่เหมาะสมโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
- นอกจากนี้โปรดเพิ่มคำอธิบายหากจำเป็น
กรณีทดสอบ:
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