Trong xkcd của mình về định dạng ngày tiêu chuẩn ISO 8601, Randall chụp theo một ký hiệu thay thế khá tò mò:
Các số lớn là tất cả các chữ số xuất hiện trong ngày hiện tại theo thứ tự thông thường của chúng và các số nhỏ là các chỉ số dựa trên 1 về sự xuất hiện của chữ số đó. Vì vậy, ví dụ trên đại diện 2013-02-27
.
Hãy xác định một đại diện ASCII cho một ngày như vậy. Dòng đầu tiên chứa các chỉ số từ 1 đến 4. Dòng thứ hai chứa các chữ số "lớn". Dòng thứ ba chứa các chỉ số 5 đến 8. Nếu có nhiều chỉ mục trong một vị trí, chúng được liệt kê cạnh nhau từ nhỏ nhất đến lớn nhất. Nếu có nhiều nhất các m
chỉ mục trong một vị trí (nghĩa là trên cùng một chữ số và trong cùng một hàng), thì mỗi cột phải có các m+1
ký tự rộng và được căn trái:
2 3 1 4
0 1 2 3 7
5 67 8
Xem thêm các thách thức đồng hành cho việc chuyển đổi ngược lại.
Các thách thức
Cho ngày ISO 8601 ( YYYY-MM-DD
), xuất ký hiệu ngày xkcd tương ứng.
Bạn có thể viết chương trình hoặc hàm, lấy đầu vào qua STDIN (hoặc thay thế gần nhất), đối số dòng lệnh hoặc đối số hàm và xuất kết quả qua tham số STDOUT (hoặc thay thế gần nhất), tham số trả về hàm hoặc tham số hàm (out).
Bất kỳ năm nào từ 0000
đến 9999
là đầu vào hợp lệ.
Không gian lưu trữ được cho phép, không gian hàng đầu là không. Bạn có thể tùy ý xuất một dòng mới duy nhất.
Luật golf tiêu chuẩn được áp dụng.
Các trường hợp thử nghiệm
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