Şaşırtıcı bir şekilde, bu basit görev zaten görünmüyor, bu yüzden ...
Göreviniz 12 saatlik bir girdi alan ve bunu "askeri saate" veya 24 saatlik bir biçime dönüştüren bir program yazmak.
Giriş formunda olacaktır:
HH:MM am/pm
Hafif değişikliklere izin verilse de:
Öğleden sonra / öğleden sonrayı ayıran alan isteğe bağlıdır.
Son kısım "am" / "pm" veya "a" / "p" olabilir.
Büyük harf kullanımı iyi.
Çıktı girilen zaman olacak, 24 saat formatına dönüştürülecek. Bir sayı veya bir dize olabilir.
Hem giriş hem de çıkış için:
İlk etapta 0s isteğe bağlıdır. Son 3 yerde 0s zorunludur.
Saat ve dakikaları ayıran sınırlayıcı bir ":", "" (boşluk) veya hiçbir şey olmayabilir.
Diğer notlar:
Gece yarısı 0000 veya 2400 olarak ifade edilebilir.
Gece yarısı "am", öğlen "pm" olarak kabul edilir.
Programınız bir işlev veya tam bir program olabilir ve sonucu döndürmeli ya da stdout'a vermelidir. Sondaki boşluk boş.
Örnekler (her formatı desteklemeniz gerekmez):
12:00am -> 0000
1200 pm -> 1200
1234Am -> 00:34
134a -> 134
01:34PM -> 13 34
1234pm -> 1234
Bu kod golf, yani en küçük bayt sayısı kazanır. Bu, yerleşik bir çözümü çözmek için çok önemsiz olduğu için, bunu manuel olarak çözen bazı kodları görmek güzel olurdu (ancak yerleşiklerin kullanımı iyidir).
Sadece netleştirmek için değil her türlü biçimini desteklemek için gerekli. Yalnızca tek bir girişi ve tek bir çıktı formatını (seçiminize göre) desteklemek iyidir. Bununla birlikte, yukarıda belirtildiği gibi formatı sınırlamak istiyorum (bu zaten oldukça ücretsiz). {1134,'pm'}
örneğin, kabul edilemez.
01:54pm
işe yarar, ama 1:54pm
olmaz mı?