นี้ได้รับแรงบันดาลใจจากการทำงานของฉันเพิ่งเพิ่มเข้ามาในภาษาของฉันเพิ่ม ++ ดังนั้นฉันจะส่งคำตอบสั้น ๆ ใน Add ++ แต่ฉันจะไม่ยอมรับถ้ามันชนะ (มันจะไม่ยุติธรรม)
คุณไม่เกลียดเมื่อคุณสามารถคูณจำนวน แต่ไม่ใช่สายอักขระ? ดังนั้นคุณควรแก้ไขให้ถูกต้องใช่ไหม
คุณต้องเขียนฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบที่รับสองสตริงที่ไม่ว่างเปล่าเป็นอินพุตและเอาต์พุตเวอร์ชันคูณ
คุณจะคูณสตริงได้อย่างไร ฉันจะบอกคุณ!
ในการคูณสองสตริงคุณต้องใช้สองสายและเปรียบเทียบแต่ละอักขระ อักขระที่มีจุดโค้ดสูงสุดจะถูกเพิ่มไปยังเอาต์พุต หากมีค่าเท่ากันให้เพิ่มอักขระไปยังเอาต์พุต
ไม่รับประกันว่าสายอักขระจะมีความยาวเท่ากัน หากความยาวแตกต่างกันความยาวของสตริงสุดท้ายคือความยาวของสตริงที่สั้นที่สุด อินพุตจะเป็นตัวพิมพ์เล็กเสมอและอาจมีอักขระใด ๆ ในช่วง ASCII ที่พิมพ์ได้ ( 0x20 - 0x7E
) ไม่รวมตัวอักษรตัวพิมพ์ใหญ่
คุณอาจส่งออกในรูปแบบที่สมเหตุสมผลเช่นสตริงรายการ ฯลฯ มีเหตุผลจำนวนเต็มไม่ใช่วิธีที่เหมาะสมที่จะแสดงผลในการท้าทายนี้
ด้วยอินพุตhello,
และworld!
นี่คือวิธีการทำงาน
hello,
world!
w > h so "w" is added ("w")
o > e so "o" is added ("wo")
r > l so "r" is added ("wor")
l = l so "l" is added ("worl")
d < o so "o" is added ("worlo")
! < , so "," is added ("worlo,")
ดังนั้นผลลัพธ์สุดท้ายสำหรับhello,
และworld!
จะเป็นworlo,
!
กรณีทดสอบเพิ่มเติม
(ไม่มีขั้นตอน)
input1
input2 => output
programming puzzles & code golf!?
not yet graduated, needs a rehaul => prtgyetmirgduuzzlesneedsde rolful
king
object => oing
blended
bold => boln
lab0ur win.
the "super bowl" => the0usuwir.
donald j.
trumfefe! => trumlefj.
นี่คือรหัสกอล์ฟที่สั้นที่สุดที่จะชนะ! Luok!