C'est simple: imprimez un diagramme de Gantt ASCII .
En fonction des plages de tâches (tuples de début et de fin), imprimez une chronologie de Gantt sous forme de -
caractères pour chaque durée de tâche - chaque tâche dans une nouvelle ligne.
Exemple
Disons que mes plages de tâches sont 28->35, 34->40, 39->44
, le Gantt ressemblera à ceci:
-------
------
-----
Caractéristiques
- Vous pouvez écrire un programme complet, une fonction nommée ou une fonction anonyme.
- Votre programme / fonction doit accepter les tâches via STDIN ou comme arguments .
- Chaque tâche doit être représentée comme une chaîne de
start->end
oùstart
etend
sont des entiers . Les tâches sont séparées par des espaces ou des virgules. Alternativement , vous pouvez l'obtenir en tant que Tuple de nombres entiers, ou en tant que tableau / collection de 2 nombres entiers. (Par exemple, en JavaScript, vous pouvez l'obtenir sous la forme[start,end]
- cela est autorisé). - Tout nombre non négatif de tâches (arguments) doit être pris en charge.
Pour être clair, un seul argument de la collecte des tâches n'est pas autorisé. Vous pouvez soit analyser un seul argument de chaîne, soit prendre en charge zéro ou plusieurs arguments de tâches. Où la tâche est un tuple ou une collection de taille 2.- Vous pouvez supposer que seule une entrée valide sera donnée. Cela signifie que chaque tâche a une durée positive.
- La valeur de retour n'a pas d'importance, votre code doit imprimer la chronologie sur STDOUT.
- Sortie: par tâche,
start
espaces suivis de(end-start)
tirets et a\n
. - Inutile de dire que les lignes de sortie doivent être ordonnées en conséquence avec l'ordre d'entrée (tâches).
- Les espaces de fin avant le
\n
sont autorisés, si cela vous aide.
Cas de test
Input:
(empty)
Output:
(empty)
Input:
0->7,5->6,3->6
Output:
-------
-
---
Input:
5->20,5->20,2->10,15->19
Output:
---------------
---------------
--------
----
Gagnant
- Il s'agit de code-golf, donc la plus petite longueur de code (en octets) l'emporte.
- Traditionnellement, le bris d'égalité est un post antérieur.
- "Les failles standard ne sont plus drôles".
-----
MODIFIER
Comme beaucoup d'entre vous ont compris qu'il est autorisé d'avoir un seul argument de collection de tâches, et comme il n'y a pas beaucoup de différence entre cela et l' exigence varargs d' origine , il est désormais autorisé d'avoir un seul argument de collection, si vous ne souhaitez pas utiliser l'option varargs, ou dans le cas où votre langue ne prend pas en charge varargs.
arguments
dans la fonction, mais vous ne pouvez pas supposer qu'il arguments[0]
s'agit d'un tableau de tâches.
To make it clear...
) n'est pas clair du tout.