Gegeben seien zwei Listen , die keine doppelten Elemente enthalten a
und b
finden Sie den Crossover zwischen den beiden Listen und Ausgabe eines ASCII-Art Venn - Diagramm. Das Venn-Diagramm verwendet der Einfachheit halber eine quadratische Version der traditionellen Kreise.
Beispiel
Gegeben:
a = [1, 11, 'Fox', 'Bear', 333, 'Bee']
b = ['1', 333, 'Bee', 'SchwiftyFive', 4]
Ausgabe (Reihenfolge ist 100% beliebig, solange das Venn-Diagramm korrekt ist):
+-----+----+-------------+
|11 |333 |SchwiftyFive |
|Fox |Bee |4 |
|Bear |1 | |
+-----+----+-------------+
Das Programm kann entweder '1' == 1
oder '1' != 1
bis zu Ihrer Implementierung berücksichtigen . Sie können auch festlegen, dass alles nur als Zeichenfolgen behandelt wird und nur Zeichenfolgeneingaben akzeptiert werden.
Gegeben:
a=[]
b=[1,2,3]
Ausgabe (Beachten Sie, dass die beiden leeren Teile immer noch den Platz auf dem rechten Pad haben):
+-+-+--+
| | |1 |
| | |2 |
| | |3 |
+-+-+--+
Gegeben:
a=[1]
b=[1]
Ausgabe:
+-+--+-+
| |1 | |
+-+--+-+
Regeln
- Elemente des Venn-Diagramms sind linksbündig ausgerichtet und auf den Eintrag mit der maximalen Länge plus 1 aufgefüllt.
- Die Reihenfolge der Elemente innerhalb der Unterabschnitte des Venn-Diagramms ist beliebig.
- Ecken des Venn-Diagramms (wo sich
|
trifft-
) müssen durch a dargestellt werden+
. - Sie haben die Garantie, dass
a.join(b).length() > 0
Sie alles tun können, wenn beide leer sind.- Sie können sogar ein Bild von Abe Lincoln drucken, egal.
- Dies ist Code-Golf , ASCII-Kunst und Set-Theorie .
Bonus
Holzkohle rendert Boxen wie diese natürlich, aber der ganze Teil der Mengenlehre ... Ich weiß nicht, wie gut das funktioniert. +100 Kopfgeld für die kürzeste Einreichung von Holzkohle, bevor ich der Frage ein Kopfgeld hinzufügen kann (2 Tage nach der Beantwortung).
'1' == 1