พื้นหลัง
สามปีที่ผ่านมาผู้ชายคนนี้ทอมเมอร์ฟี่ได้รับมันเข้ามาในหัวของเขาที่จะขยายความคิดของกระเป๋าหิ้วถ้อยคำในภาษาหนึ่งและเรียกนี้portmantout ( กระเป๋าหิ้วบวกทัวร์ [ภาษาฝรั่งเศสทั้งหมด ]) การกำหนดภาษาอังกฤษให้เป็นรายการจาก 108,709 คำเขาสามารถค้นหาลำดับ 611,820 ตัวอักษรโดยมีคุณสมบัติสองอย่างต่อไปนี้:
- คำภาษาอังกฤษทุกคำมีอยู่ในสตริง
- บางพื้นที่ใกล้เคียงที่มีตัวอักษรสองตัวที่ติดกันในสตริงเป็นคำภาษาอังกฤษ
ต่อไปนี้เป็นลิงก์ไปยังหน้าซึ่งสามารถค้นหาพอร์ตนี้ (พร้อมด้วยคำอธิบายวิดีโอ)
portmantout
คุณสมบัติแรกของทั้งสองพอร์ตเป็นสิ่งที่เข้าใจได้ง่าย ครั้งที่สองอาจต้องการคำอธิบายบางอย่าง
โดยทั่วไปคำจะต้องทับซ้อนกัน "golfcode" จะไม่ปรากฏในพอร์ตภาษาอังกฤษเนื่องจากไม่มีคำที่มี "fc" อย่างไรก็ตามคุณอาจพบ "codegolf" ใน portmantout สำหรับ "ego" เชื่อมช่องว่าง (และตัวอักษรอื่น ๆ ทั้งหมดอยู่ใน "code" หรือ "golf")
งานของคุณ:
เขียนโปรแกรมหรือฟังก์ชั่นที่รับรายการสตริงและส่งกลับพอร์ตใด ๆ ของรายการ
รหัส Python 3นี้จะตรวจสอบพอร์ตพอร์ต
กรณีทดสอบ
รายการทั้งหมดไม่มีการเรียงลำดับ นั่นคือ,
{"code", "ego", "golf"} -> "codegolf"
{"more", "elm", "maniac"} -> "morelmaniac" or "morelmorelmaniac" or "morelmorelmorelmaniac" or...
Would a morelmaniac be some sort of mycologist?
{"ab", "bc", "cd", "de", "ef", "fg", "gh", "hi", "ij", "jk", "kl", "lm", "mn", "no", "op", "pq", "qr", "rs", "st", "tu", "uv", "vw", "wx", "xy", "yz", "za"} -> "abcdefghijklmnopqrstuvwxyza" or "rstuvwxyzabcdefghijklmnopqrstuvwxyzabcdef" or any 27+ letters in order
แล้วทำไมไม่ได้ล่ะ? สิ่งที่ยิ่งใหญ่บนเว็บไซต์ของเมอร์ฟีถ้ารหัสของคุณดำเนินการภายในเวลาอันสมควร
กฎระเบียบ
- รหัสของคุณจะต้องหยุด
- คุณไม่จำเป็นต้องส่งคืนพอร์ตเดียวกันกับการดำเนินการแต่ละครั้ง
- คุณอาจจะสมมติสตริงทั้งหมดประกอบด้วยตัวอักษรตัวพิมพ์เล็กผ่าน
a
z
- หากไม่สามารถทำได้พอร์ตโปรแกรมของคุณอาจทำอะไรก็ได้ Ex:
{"most", "short", "lists"}
- กฎระเบียบมาตรฐานสำหรับI / Oและช่องโหว่ใช้
นี่คือโค้ดกอล์ฟดังนั้นทางออกที่สั้นที่สุด (เป็นไบต์) ในแต่ละภาษาชนะ! มีความสุขในการเล่นกอล์ฟ!
{"sic", "bar", "rabbits", "cradle"} -> "barabbitsicradle"
{"mauve", "elated", "cast", "electric", "tame"} -> "mauvelectricastamelated"
(กรณีทดสอบเพิ่มเติม)