Thật đáng ngạc nhiên, nhiệm vụ đơn giản này dường như chưa tồn tại, vì vậy ...
Nhiệm vụ của bạn là viết một chương trình lấy đầu vào là 12 giờ và chuyển đổi nó thành "giờ quân đội" hoặc định dạng thời gian 24 giờ.
Đầu vào sẽ ở dạng:
HH:MM am/pm
Mặc dù các biến thể nhẹ được cho phép:
Không gian ngăn cách sáng / chiều với phần còn lại của thời gian là tùy chọn.
Phần cuối cùng có thể là "am" / "pm" hoặc "a" / "p".
Bất kỳ viết hoa là tốt.
Đầu ra sẽ là thời gian nhập, chuyển thành định dạng 24 giờ. Nó có thể là một số, hoặc một chuỗi.
Đối với cả đầu vào và đầu ra:
0s ở vị trí đầu tiên là tùy chọn. 0s trong 3 nơi cuối cùng là bắt buộc.
dấu phân cách giữa giờ và phút có thể là ":", "" (khoảng trắng) hoặc không có gì.
Ghi chú khác:
Nửa đêm có thể được biểu thị bằng 0000 hoặc 2400.
Nửa đêm sẽ được coi là "sáng", trong khi buổi trưa sẽ được coi là "chiều".
Chương trình của bạn có thể là một hàm hoặc một chương trình đầy đủ và sẽ trả về kết quả hoặc xuất nó ra thiết bị xuất chuẩn. Trailing khoảng trắng là ok.
Ví dụ (bạn không cần phải hỗ trợ mọi định dạng):
12:00am -> 0000
1200 pm -> 1200
1234Am -> 00:34
134a -> 134
01:34PM -> 13 34
1234pm -> 1234
Đây là mã golf, vì vậy số byte nhỏ nhất sẽ thắng. Vì việc này rất đơn giản để giải quyết bằng cách sử dụng tích hợp sẵn, nên sẽ rất tuyệt khi thấy một số mã tự giải quyết điều này (nhưng sử dụng tích hợp là tốt).
Chỉ cần làm rõ, bạn không cần phải hỗ trợ mọi định dạng có thể. Chỉ hỗ trợ một đầu vào duy nhất và một định dạng đầu ra duy nhất (theo lựa chọn của bạn) là ổn. Tuy nhiên tôi muốn giới hạn định dạng như đã nêu ở trên (vốn đã khá miễn phí). {1134,'pm'}
, ví dụ, sẽ không được chấp nhận.
01:54pm
sẽ làm việc, nhưng 1:54pm
sẽ không?