Zwei Wörter sind Isomorphe, wenn sie das gleiche Muster von Buchstabenwiederholungen aufweisen. Zum Beispiel beide ESTATE
und DUELED
haben Musterabcdca
ESTATE
DUELED
abcdca
da die buchstaben 1 und 6 gleich sind, sind die buchstaben 3 und 5 gleich und nichts weiter. Dies bedeutet auch, dass die Wörter durch eine Substitutionschiffre miteinander verbunden sind, hier mit der Übereinstimmung E <-> D, S <-> U, T <-> E, A <-> L
.
Schreiben Sie Code, der zwei Wörter enthält und prüft, ob es sich um Isomorphe handelt. Wenigste Bytes gewinnt.
Eingabe: Zwei nicht leere Zeichenfolgen mit Großbuchstaben A..Z
. Wenn Sie möchten, können Sie diese als Sammlung von zwei Zeichenfolgen oder als einzelne Zeichenfolge mit einem Trennzeichen verwenden.
Ausgabe: Ein konsistenter Wahrheitswert für isomorphe Paare und ein konsistenter Falsey-Wert, falls dies nicht der Fall ist . Zeichenfolgen unterschiedlicher Länge sind gültige Eingaben, die niemals isomorph sind.
Testfälle:
Wahr:
ESTATE DUELED
DUELED ESTATE
XXX YYY
CBAABC DEFFED
RAMBUNCTIOUSLY THERMODYNAMICS
DISCRIMINATIVE SIMPLIFICATION
Falsch:
SEE SAW
ANTS PANTS
BANANA SERENE
BANANA SENSES
AB CC
XXY XYY
ABCBACCBA ABCBACCAB
ABAB CD
Fühlen Sie sich frei, weitere Testfälle hinzuzufügen, die Sie nützlich finden.
Bestenliste
Hier ist ein Stack-Snippet, um sowohl eine reguläre Rangliste als auch eine Übersicht der Gewinner nach Sprache zu generieren.
Um sicherzustellen, dass Ihre Antwort angezeigt wird, beginnen Sie Ihre Antwort mit einer Überschrift. Verwenden Sie dazu die folgende Markdown-Vorlage:
# Language Name, N bytes
Wo N
ist die Größe Ihres Beitrags? Wenn Sie Ihren Score zu verbessern, Sie können alte Rechnungen in der Überschrift halten, indem man sich durch das Anschlagen. Zum Beispiel:
# Ruby, <s>104</s> <s>101</s> 96 bytes
ABAB CD
(für zip-ähnliche Ansätze)