ใน xkcd ของเขาเกี่ยวกับรูปแบบวันที่มาตรฐาน ISO 8601 Randall ดักในสัญกรณ์ทางเลือกที่ค่อนข้างอยากรู้:
ตัวเลขขนาดใหญ่คือตัวเลขทั้งหมดที่ปรากฏในวันที่ปัจจุบันตามลำดับปกติและตัวเลขขนาดเล็กเป็นดัชนีที่อิงกับ 1 ครั้งของการเกิดขึ้นของตัวเลขนั้น 2013-02-27
ดังนั้นตัวอย่างข้างต้นหมายถึง
ลองกำหนดการแสดง ASCII สำหรับวันดังกล่าว บรรทัดแรกมีดัชนี 1 ถึง 4 บรรทัดที่สองประกอบด้วยตัวเลข "ใหญ่" บรรทัดที่สามประกอบด้วยดัชนี 5 ถึง 8 หากมีดัชนีหลายรายการในสล็อตเดียวรายการเหล่านั้นจะอยู่ติดกันตั้งแต่ขนาดเล็กที่สุดไปหามากที่สุด หากมีm
ดัชนีมากที่สุดในช่องเดียว (เช่นในหลักเดียวกันและในแถวเดียวกัน) แต่ละคอลัมน์ควรมีm+1
อักขระกว้างและจัดชิดซ้าย:
2 3 1 4
0 1 2 3 7
5 67 8
ดูความท้าทายสำหรับคู่หูสำหรับการแปลงฝั่งตรงข้าม
ความท้าทาย
ให้วันที่ ISO 8601 ( YYYY-MM-DD
) ส่งออกสัญกรณ์วันที่ xkcd ที่เกี่ยวข้อง
คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์
ทุกปีจาก0000
ถึง9999
เป็นอินพุตที่ถูกต้อง
อนุญาตให้ใช้ช่องว่างต่อท้ายช่องว่างนำหน้าไม่ใช่ คุณสามารถเลือกที่จะออกบรรทัดใหม่ต่อท้ายบรรทัดเดียว
ใช้กฎมาตรฐานของกอล์ฟ
กรณีทดสอบ
2013-02-27
2 3 1 4
0 1 2 3 7
5 67 8
2015-12-24
2 3 1 4
0 1 2 4 5
5 67 8
2222-11-11
1234
1 2
5678
1878-02-08
1 3 24
0 1 2 7 8
57 6 8
2061-02-22
2 4 1 3
0 1 2 6
5 678
3564-10-28
1 4 2 3
0 1 2 3 4 5 6 8
6 5 7 8
1111-11-11
1234
1
5678
0123-12-30
1 2 3 4
0 1 2 3
8 5 6 7