그의 xkcd 에서 Randall 은 ISO 8601 표준 날짜 형식 에 대해 다소 호기심이 많은 대안 표기법을 사용했습니다.
큰 숫자는 현재 날짜에 일반적인 순서대로 나타나는 모든 숫자이며, 작은 숫자는 해당 숫자의 발생에 대한 1 기반 인덱스입니다. 위의 예는를 나타냅니다 2013-02-27
.
그러한 날짜에 대한 ASCII 표현을 정의합시다. 첫 번째 줄에는 인덱스 1-4가 포함됩니다. 두 번째 줄에는 "큰"숫자가 포함됩니다. 세 번째 줄에는 5에서 8까지의 색인이 있습니다. 단일 슬롯에 여러 개의 색인이있는 경우 가장 작은 것에서 가장 큰 것까지 나란히 나열됩니다. 이 많아야 경우 m
(동일한 자리에, 즉, 같은 행에) 하나의 슬롯 인덱스, 각각의 열은 수 있어야 m+1
다양한 문자와 왼쪽 정렬 :
2 3 1 4
0 1 2 3 7
5 67 8
반대 전환에 대해서는 동반자 문제 도 참조하십시오 .
도전
ISO 8601 날짜 ( YYYY-MM-DD
)가 주어지면 해당 xkcd 날짜 표기법을 출력하십시오.
STDIN (또는 가장 가까운 대안), 명령 행 인수 또는 함수 인수를 통해 입력을 받고 STDOUT (또는 가장 가까운 대안), 함수 리턴 값 또는 함수 (out) 매개 변수를 통해 결과를 출력하는 프로그램 또는 함수를 작성할 수 있습니다.
에서 모든 년 0000
에는 9999
유효한 입력입니다.
후행 공백이 허용되고 선행 공백은 허용되지 않습니다. 선택적으로 단일 후행 줄 바꿈을 출력 할 수 있습니다.
표준 코드 골프 규칙이 적용됩니다.
테스트 사례
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