ในการแข่งขันกีฬามักจะเกิดขึ้นที่ผู้ชนะจะได้รับการนำเสนอบนโพเดียมโดยมีผู้ชนะอันดับที่หนึ่งในอันดับที่สูงที่สุดในกลางคนที่สองที่อยู่ในระดับความสูงกลางไปทางซ้ายและคนที่สามที่อยู่ต่ำสุดและต่ำสุด ไปทางขวา. เราจะสร้างใหม่ที่นี่ด้วยการปรับแต่งพิเศษ
โพเดียมนำเสนอด้านล่าง:
@---@
| @ |
@---@| | |
| @ || | |
| | || | |@---@
| | || | || @ |
สิ่งนี้จะเป็นพื้นฐานสำหรับความท้าทายนี้ ขั้นตอนต่อไปคือการทำให้แท่นกว้างพอที่จะใส่คน (สตริง ASCII ที่พิมพ์ได้) ที่อยู่บนพวกเขา อย่างไรก็ตามเราต้องการให้มั่นใจในความงามที่สวยงาม (เพราะนี่เป็นโอกาสในการถ่ายภาพที่ยอดเยี่ยม) ดังนั้นแต่ละแท่นจะต้องมีความกว้างเท่ากันและความกว้างจะต้องแปลก นอกจากนี้ผู้คนจะ (เห็นได้ชัด) ต้องการยืนอยู่ตรงกลางแท่นดังนั้นสตริงจะต้องอยู่กึ่งกลางที่ดีที่สุดเท่าที่จะทำได้ (คุณสามารถจัดตำแหน่งไปทางซ้ายหรือขวาและไม่จำเป็นต้องสอดคล้องกัน) podiums ด้านบนมีขนาดต่ำสุดและถือว่า3
กว้าง
ตัวอย่างเช่นเนื่องจากอินพุตที่["Tom", "Ann", "Sue"]
แสดงถึง first-, second- และ Third-place ตามลำดับให้เอาต์พุต podiums ต่อไปนี้:
Tom
@---@
Ann | @ |
@---@| | |
| @ || | | Sue
| | || | |@---@
| | || | || @ |
อย่างไรก็ตามหากเรามีAnne
แทนAnn
เราจะต้องขึ้นไปที่ขนาดถัดไป5
และจัดกึ่งกลางสตริงให้ดีที่สุดเท่าที่จะทำได้ ที่นี่ฉันกำลังจัดตำแหน่งดังนั้นตัวอักษร "พิเศษ" ของAnne
อยู่ทางด้านซ้ายของกึ่งกลาง แต่คุณสามารถเลือกด้านที่จะจัดตำแหน่ง
Tom
@-----@
Anne | @ |
@-----@| | |
| @ || | | Sue
| | || | |@-----@
| | || | || @ |
ลองหาชื่ออีกต่อไป เกี่ยวกับ["William", "Brad", "Eugene"]
:
William
@-------@
Brad | @ |
@-------@| | |
| @ || | | Eugene
| | || | |@-------@
| | || | || @ |
ที่นี่เราจะเห็นว่าBrad
มีช่องว่างจำนวนมากEugene
น้อยกว่าและWilliam
พอดีพอดี
สำหรับกรณีทดสอบที่ยาวขึ้นวิธีการเกี่ยวกับ["A", "BC", "DEFGHIJKLMNOPQRSTUVWXYZ"]
:
A
@-----------------------@
BC | @ |
@-----------------------@| | |
| @ || | | DEFGHIJKLMNOPQRSTUVWXYZ
| | || | |@-----------------------@
| | || | || @ |
สุดท้ายเรามีอินพุตที่เล็กที่สุดเท่าที่จะเป็นไปได้เช่น["A", "B", "C"]
:
A
@---@
B | @ |
@---@| | |
| @ || | | C
| | || | |@---@
| | || | || @ |
- เข้าและส่งออกจะได้รับโดยวิธีการที่สะดวกใด ๆ
- ข้อมูลเข้ามีการรับประกันว่าไม่ว่างเปล่า (เช่นคุณจะไม่ได้รับ
""
ชื่อ) - คุณสามารถพิมพ์ลงใน STDOUT หรือส่งคืนเป็นผลลัพธ์ของฟังก์ชัน
- ยอมรับได้ทั้งโปรแกรมหรือฟังก์ชั่น
- สามารถยอมรับช่องว่างที่ไม่เกี่ยวข้องใด ๆ ได้ตราบใดที่อักขระมีการจัดเรียงอย่างเหมาะสม
- ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
- นี่คือรหัส - กอล์ฟเพื่อให้ใช้กฎการเล่นกอล์ฟตามปกติทั้งหมดและรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ