이것은 간단한 것입니다 : ASCII Gantt 차트를 인쇄하십시오 .
주어진 작업 범위 (시작 시간-종료 시간 튜플)에서 -
각 작업 기간 (새 작업의 각 작업)에 대해 문자 형태로 Gantt 타임 라인을 인쇄합니다 .
예
내 작업 범위가 있다고 가정 28->35, 34->40, 39->44
하면 Gantt는 다음과 같습니다.
-------
------
-----
명세서
- 전체 프로그램, 명명 된 함수 또는 익명 함수를 작성할 수 있습니다.
- 프로그램 / 기능은 STDIN을 통해 또는 인수로 작업을 수락해야합니다 .
- 각 작업은
start->end
wherestart
및end
are Integer 문자열로 표시되어야합니다 . 작업은 공백이나 쉼표로 구분됩니다. 또는 Tuple of Integer 또는 Array / Collection of 2 Integer로 얻을 수 있습니다. (예를 들어, JavaScript에서는 다음과 같이 얻을 수 있습니다[start,end]
-이것이 허용됩니다). - 음수가 아닌 수의 작업 (인수)이 지원되어야합니다.
명확하게하기 위해, 태스크 콜렉션의 단일 인수는 허용되지 않습니다. 단일 문자열 인수를 구문 분석하거나 0 개 이상의 작업 인수를 지원할 수 있습니다. 여기서 작업은 튜플 또는 크기 2의 모음입니다.- 유효한 입력 만 제공한다고 가정 할 수 있습니다. 즉, 각 작업에는 긍정적 기간이 있습니다.
- 반환 값은 중요하지 않습니다. 코드는 STDOUT에 타임 라인을 인쇄해야합니다.
- 출력 : 작업 당,
start
공백 다음에(end-start)
대시와 a가 표시\n
됩니다. - 말할 것도없이, 출력 라인은 입력 (작업) 순서에 따라 정렬되어야합니다.
\n
도움이된다면 앞에 공백 이 허용됩니다.
테스트 사례
Input:
(empty)
Output:
(empty)
Input:
0->7,5->6,3->6
Output:
-------
-
---
Input:
5->20,5->20,2->10,15->19
Output:
---------------
---------------
--------
----
승리
- 이것은 코드 골프 이므로 최소 코드 길이 (바이트)가 이깁니다.
- 전통적으로 타이 브레이커는 이전 포스트입니다.
- "표준 허점은 더 이상 재미 없다".
-----
편집하다
많은 사람들이 단일 작업 수집 인수를 가질 수 있으며 그와 원래 varargs 요구 사항 사이에 큰 차이 가 없으므로 사용하지 않으려는 경우 단일 수집 인수를 가질 수 있습니다. varargs 옵션 또는 언어가 varargs를 지원하지 않는 경우
arguments
함수 내에서 반복 될 수 있지만, 이것이 arguments[0]
작업의 배열 이라고 가정 할 수는 없습니다 .
To make it clear...
)는 전혀 명확하지 않습니다.