Drunk Uncle (ขออภัย ME และ AUS สำหรับการล็อคภูมิภาค) เป็นตัวละครจาก Saturday Night Live เขามักจะสับสนคำพูดสำหรับคนอื่น ๆ ที่ฟังดูเหมือนพวกเขา สำหรับความท้าทายนี้คุณจะต้องแปลงคำพูดปกติให้เป็นดรัมสกิน
ขั้นตอนวิธี
การแปลไปเป็นแบบ Drunkspeak นั้นจำเป็นต้องสลับลำดับของคำในข้อความ การแลกเปลี่ยนจะขึ้นอยู่กับความคล้ายคลึงกันของคำสองคำที่มึนเมา ความคล้ายคลึงกันมึนเมาถูกกำหนดให้เป็นจำนวนตัวอักษรที่สองคำได้เกิดขึ้นที่ดัชนีเดียวกัน อย่างไรก็ตามคำสองคำที่เหมือนกันมีความคล้ายคลึงกันมึนเมา -1 ตัวอย่างเช่นtree
และfriend
มีความคล้ายคลึงกันมึนเมา 2 เนื่องจากทั้งคู่มี 'r' ที่ดัชนี 1 และ 'e' ที่ดัชนี 3
สิ่งที่คุณต้องทำคือค้นหาสองคำในข้อความที่มีความคล้ายคลึงกันมึนเมาสูงสุดแล้วสลับคำเหล่านั้น เมื่อคุณสลับสองคำพวกเขาจะไม่ย้ายอีกต่อไป จากนั้นคุณดูคำศัพท์ที่ถอดเปลี่ยนได้ที่เหลืออยู่และสลับทั้งสองที่มีความคล้ายคลึงกันเมาสุราสูงสุด คุณทำเช่นนี้ต่อไปจนกว่าคุณจะไม่สามารถแลกเปลี่ยนได้อีกต่อไป จากนั้นคุณส่งออก (หรือส่งคืนสำหรับฟังก์ชัน) ข้อความที่อัปเดต
ข้อมูลจำเพาะ
- เพื่อความเรียบง่ายอินพุตคือรายการคำที่ประกอบด้วยอักขระใน [A-Za-z]
- ทุกอินพุตมีอย่างน้อยหนึ่งคำ
- การจับคู่ตัวอักษรเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่:
A
ตรงกับa
( หมายเหตุ:เนื่องจากกฎนี้Dog
และdog
เหมือนกันจึงมี DS เป็น -1) - หากหลายคู่มีความคล้ายคลึงกันมึนเมาสูงสุด:
- ในคำที่สามารถเพิ่มความคล้ายคลึงกันของมึนเมาสูงสุดให้เลือกคำที่มีดัชนีต่ำที่สุดในรายการ
- จับคู่คำนั้นกับคำที่ดัชนีต่ำสุดที่เพิ่มความคล้ายคลึงกันที่มึนเมาสูงสุด
ตัวอย่าง
Drunk Uncle needs your help
(หัวข้อ)- S 1 : เมา <=> ของคุณ (DS: 1)
your Uncle needs Drunk help
- S 2 : ต้องการความช่วยเหลือ <=> (DS: 1)
your Uncle help Drunk needs
- เอาท์พุท:
your Uncle help Drunk needs
- S 1 : เมา <=> ของคุณ (DS: 1)
I love fidget spinners
(ตัวอย่างที่น่าเบื่อ)- S 1 : ฉัน <=> ความรัก (DS: 0)
love I fidget spinners
- S 2 : fidget <=> สปินเนอร์ (DS: 0)
love I spinners fidget
- S 1 : ฉัน <=> ความรัก (DS: 0)
dog eat dog ear
- S 1 : กิน <=> หู (DS: 2)
dog ear dog eat
- S 2 : สุนัข <=> สุนัข (DS: -1)
dog ear dog eat
(ขั้นตอนนี้เป็นทางการ)
- S 1 : กิน <=> หู (DS: 2)
Let me tell you a story
- S 1 : ให้ <=> ฉัน (DS: 1)
me Let tell you a story
- S 2 : บอก <=> คุณ (DS: 0)
me Let you tell a story
- S 3 : เรื่องราว <=> (DS: 0)
me Let you tell story a
- S 1 : ให้ <=> ฉัน (DS: 1)
Too many money and purple people
- S 1 : สีม่วง <=> คน (DS: 4)
Too many money and people purple
- S 2 : เงินจำนวนมาก <=> (DS: 2)
Too money many and people purple
- S 3 : เกินไป <=> และ (DS: 0)
and money many Too people purple
- S 1 : สีม่วง <=> คน (DS: 4)
แจ้งให้เราทราบหากมีตัวอย่างเพิ่มเติมที่คุณต้องการให้ฉันครอบคลุม