Thử thách
Viết chương trình ngắn nhất chuyển đổi khoảng thời gian có thể đọc được của con người thành các thành phần ngày có dạng:
{±YEARS|±MONTHS|±DAYS|±HOURS|±MINUTES|±SECONDS}
Trường hợp mẫu
Mỗi trường hợp thử nghiệm là hai dòng, đầu vào theo sau là đầu ra:
1 year 2 months 3 seconds
{1|2|0|0|0|3}
-2 day 5 year 8months
{5|8|-2|0|0|0}
3day 9 years 4 seconds -5 minute 4 years 4 years -3seconds
{17|0|3|0|-5|1}
Quy tắc
- Bạn không thể sử dụng
strtotime
hoặc bất kỳ chức năng tích hợp nào thực hiện toàn bộ công việc. - Mã ngắn nhất thắng (byte)
- Bạn có thể in đầu ra của mình tới
stdout
hoặc một tệp, kết quả cũng có thể được trả về bởi một chức năng, tùy thuộc vào bạn - Mã thông báo có thể ở dạng số ít hoặc số nhiều.
- Các thành phần có thể theo thứ tự ngẫu nhiên
- Có thể không có khoảng trắng giữa số và mã thông báo
- Dấu hiệu là tùy chọn khi khoảng thời gian là dương (đầu vào và đầu ra)
- Nếu một thành phần xuất hiện nhiều hơn một lần thì các giá trị sẽ được thêm vào
- Mỗi thành phần có dấu hiệu riêng
- Các thành phần nên được xử lý riêng (ví dụ
80 minutes
vẫn là 80 ở đầu ra) - Đầu vào được đảm bảo là chữ thường
Chúc bạn chơi golf vui vẻ!
Sign is optional when the time interval is positive
Điều đó có nghĩa là đầu vào có thể chứa các +
dấu hiệu?