ฉันแน่ใจว่าพวกเราส่วนใหญ่เห็นผลลัพธ์ของ SQL ในเทอร์มินัลซึ่งจัดรูปแบบเป็นแถวและคอลัมน์อย่างเรียบร้อย หากคุณยังไม่ได้นี่คือตัวอย่าง:
+----------+-----------+----------------+
| column 1 | column 2 | column 3 |
+----------+-----------+----------------+
| data | more data | even more data |
| etc | just goes | on and on |
+----------+-----------+----------------+
เป้าหมายของคุณสำหรับความท้าทายนี้คือให้คอลัมน์และข้อมูลแถวสำหรับตารางวาดรูปแบบนี้ ควรมีเส้นแนวนอนที่ด้านบนและด้านล่างของตารางและอีกเส้นหนึ่งอยู่ใต้แถวส่วนหัว ควรมีเส้นแนวตั้งระหว่างทุกคอลัมน์และอีกหนึ่งรายการอยู่ทั้งสองด้านของตาราง คุณควรใช้ท่อสำหรับเส้นแนวตั้ง, เครื่องหมายขีดคั่นสำหรับเส้นแนวนอนและจุดยึดสำหรับจุดตัด
ข้อมูลจำเพาะ:
- ข้อมูลสามารถป้อนผ่าน stdin หรือเป็นอาร์กิวเมนต์ของฟังก์ชัน แต่ต้องอยู่ในรูปแบบของสตริง
- ข้อมูลควรถูกแยกโดยตัวคั่นสตริง
; - ข้อมูลจะประกอบด้วยอักขระ ASCII เท่านั้นไม่มีการเสนอราคาและจะไม่มีตัวคั่น
- แถวแรกของข้อมูลจะใช้สำหรับส่วนหัวของคอลัมน์
- ข้อมูลจะมีจำนวนคอลัมน์เท่ากันเสมอ
- ข้อมูลที่ป้อนจะมีอย่างน้อยสองแถว (หนึ่งส่วนหัวหนึ่งข้อมูล) คุณไม่ต้องจัดการกับชุดที่ว่างเปล่า
- อนุญาตให้ขึ้นบรรทัดใหม่หรือต่อท้ายก่อนหน้า
- แต่ละคอลัมน์ควรมีความกว้างเท่ากับองค์ประกอบที่กว้างที่สุดการเติมองค์ประกอบที่สั้นกว่าด้านขวา(โบนัส -5% ถ้าคุณวางตัวเลขทางด้านซ้าย)
- ควรมีช่องว่างของการเว้นวรรค 1 ช่องก่อนและหลังส่วนหัวและข้อมูลยกเว้นเมื่อคอลัมน์กว้างขึ้น
- คุณไม่ได้รับอนุญาตให้ใช้
mysqlโปรแกรมจริงเพื่อสร้างตาราง - ช่องโหว่มาตรฐานใช้
ตัวอย่างอินพุต:
column 1;column 2;column 3
hello;world;test
longer data;foo;bar
เอาท์พุต
+-------------+----------+----------+
| column 1 | column 2 | column 3 |
+-------------+----------+----------+
| hello | world | test |
| longer data | foo | bar |
+-------------+----------+----------+
เกณฑ์การให้คะแนน:
จำนวนไบต์ที่น้อยที่สุดชนะแน่นอน โบนัส -5% สำหรับหมายเลขแพ็ดดิ้งทางด้านซ้าย (ดูเฉพาะ)
มีการ จำกัด เวลาในการใช้งานโปรแกรมหรือไม่?
—
Downgoat
Nope; ใช้เวลานานเท่าที่คุณต้องการตราบเท่าที่มันเสร็จสิ้นจริง
—
เกล็นสมิ ธ
เอาต์พุตควรมีอะไรหากมีอินพุตเพียงแถวเดียว?
—
Zgarb
คุณสามารถสันนิษฐานได้ว่าจะมีอินพุตอย่างน้อยสองแถวเสมอ MySQL ไม่ได้แสดงตารางสำหรับเซตว่าง คุณไม่จำเป็นต้อง
—
เกล็นสมิ ธ