น่าแปลกใจที่งานง่าย ๆ นี้ดูเหมือนจะยังไม่มีอยู่ดังนั้น ...
งานของคุณคือการเขียนโปรแกรมที่ใช้เวลาในการป้อนข้อมูลเป็นเวลา 12 ชั่วโมงและแปลงเป็น "เวลาทหาร" หรือรูปแบบเวลา 24 ชั่วโมง
ข้อมูลที่ป้อนจะอยู่ในรูปแบบ:
HH:MM am/pm
แม้ว่าจะอนุญาตให้มีการเปลี่ยนแปลงเล็กน้อย:
พื้นที่ที่แยก am / pm จากเวลาที่เหลือเป็นทางเลือก
ส่วนสุดท้ายอาจเป็น "am" / "pm" หรือ "a" / "p"
การใช้อักษรตัวพิมพ์ใหญ่ใด ๆ ก็ใช้ได้
เอาท์พุทจะเป็นเวลาที่ป้อนเข้าจะถูกแปลงเป็นรูปแบบ 24 ชั่วโมง มันอาจเป็นตัวเลขหรือสตริงก็ได้
สำหรับทั้งอินพุตและเอาต์พุต:
0s ในตอนแรกเป็นตัวเลือก 0s ใน 3 สถานที่สุดท้ายมีผลบังคับใช้
ตัวคั่นคั่นชั่วโมงและนาทีอาจเป็น ":", "" (ช่องว่าง) หรือไม่มีอะไร
หมายเหตุอื่น ๆ :
เที่ยงคืนสามารถแสดงได้ทั้งแบบ 0000 หรือ 2,400
เที่ยงคืนจะถูกพิจารณาว่าเป็น "am" ในขณะที่เที่ยงจะถูกพิจารณาเป็น "pm"
โปรแกรมของคุณอาจเป็นฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบและควรส่งคืนผลลัพธ์หรือส่งออกไปยัง stdout ช่องว่างต่อท้ายก็โอเค
ตัวอย่าง (คุณไม่จำเป็นต้องรองรับทุกรูปแบบ):
12:00am -> 0000
1200 pm -> 1200
1234Am -> 00:34
134a -> 134
01:34PM -> 13 34
1234pm -> 1234
นี่คือรหัสกอล์ฟดังนั้นจำนวนไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ เนื่องจากเป็นเรื่องง่ายมากที่จะแก้ปัญหาโดยใช้บิวด์อินมันจะเป็นการดีหากได้เห็นโค้ดบางอย่างที่แก้ปัญหานี้ด้วยตนเอง (แต่การใช้บิวด์อินนั้นดี)
เพียงชี้แจงคุณไม่จำเป็นต้องสนับสนุนทุกรูปแบบที่เป็นไปได้ รองรับเพียงอินพุตเดียวและรูปแบบเอาต์พุตเดียว (ที่คุณเลือก) นั้นใช้ได้ อย่างไรก็ตามฉันต้องการ จำกัด รูปแบบตามที่ระบุไว้ข้างต้น (ซึ่งค่อนข้างฟรีแล้ว) {1134,'pm'}
ตัวอย่างเช่นจะยอมรับไม่ได้
01:54pm
ทำงานได้ แต่1:54pm
จะไม่?