Erinnern Sie sich an meine Matte, die richtig nach Farben sortiert ist ?
Gestern habe ich es mir angesehen und festgestellt, dass einige Buchstaben in andere passen. Beispiel: Ein Brief P
passt an die Stelle, an der der Brief R
hingeht. Hier ist eine einfache Herausforderung: Geben Sie bei zwei Buchstaben einen Wahrheitswert zurück, wenn einer der Buchstaben in den anderen passt (direkt oder gedreht, aber nicht gespiegelt), oder einen Falschwert, wenn dies nicht der Fall ist. Das heißt, wenn die Eingabe [P,R]
oder ist [R,P]
, müssen Sie die Wahrheit zurückgeben, da in beiden Fällen ein Buchstabe in den anderen passt. Wenn Sie bekommen [L,U]
, müssen Sie Falsey zurückgeben, da keiner in den anderen passt.
Regeln
- Die Eingabe muss aus zwei alphanumerischen Zeichen im Bereich [0-9A-Z] bestehen, da sich in der Matte auch Zahlen in beliebiger Form befinden (zwei separate Zeichen als zwei Eingaben, eine Liste mit zwei Zeichen, eine Zeichenfolge mit dem 2 Zeichen, was auch immer).
- Die Ausgabe muss konsistent sein (die Wahrheits- und Falschheitswerte müssen immer gleich sein).
Im Folgenden finden Sie die Tabelle mit den Beschlägen (beachten Sie, dass ein Buchstabe immer an die richtige Stelle passt, nur für den Fall, dass Sie so etwas wie
[Y,Y]
eine Eingabe erhalten):char fits inside chars -------------------------------------------------------- C G,O F B,E,P,R G O I 0,1,7,B,D,E,F,H,K,L,M,N,O,P,R,T,V,W,X,Z L E M W P R S O V A W M 0 O 1 B,E,L 3 O 6 9,O 8 O 9 6,O
Ich schwöre feierlich, dass ich jeden Sitz in der Matte meines Kindes getestet habe. (Trocknet seinen Schweiß von der Stirn.)
Das ist Code-Golf , also kann der kürzeste Code für jede Sprache gewinnen!
Einige Testfälle
input output
-------------
[C,G] truthy (C fits inside G)
[G,C] truthy (C fits inside G)
[F,R] truthy (F fits inside R)
[M,W] truthy (both fit inside the other)
[O,S] truthy (S fits inside O)
[T,T] truthy (T fits in its place)
[E,V] falsey (no fit found)
[P,L] falsey
Sandkastenpfosten . Bitte verzeihen Sie mir, wenn Sie mehr Beschläge entdecken, die ich verpasst habe. Vielen Dank an Οurous für die Hilfe bei der Ausstattungsliste.
quelle
1
passt nicht reinF
?1
damit es in das passt,F
aber das ist in meiner Matte nicht erlaubt. :-)Antworten:
Python 2 ,
135130129 Bytes-1 Byte danke an Lynn
Probieren Sie es online!
Python 3 , 143 Bytes
Probieren Sie es online!
quelle
Retina ,
9392 BytesProbieren Sie es online! Bearbeiten: 1 Byte dank @ovs gespeichert.
quelle
Sauber ,
276226 BytesVage Golf-ish. Wird morgen polieren.
Probieren Sie es online!
quelle
Haskell ,
149145 BytesProbieren Sie es online!
quelle
Javascript
155 153 151149 BytesIch denke, das funktioniert in allen Fällen, 1/0 für wahr / falsch.
Erläuterung:
Änderungsprotokoll:
quelle
c
passtf
oderf
passtc
? Es scheint, dass Sie nur einen Fall überprüfen.f
passtc
includes(f)
anstelle vonindexOf(f)>=0
2 Bytes speichern.Julia 0,6 , 139 Bytes
Probieren Sie es online!
Durch Gruppieren der Zeichen, die in 'O' passen, wurden einige Bytes gespeichert. Aber beim Testen der umgekehrten Eingabe wird zu viel Code verwendet ...
Erläuterung:
zip(☐)
Zippt die entsprechenden Einzelbuchstaben aus"OCFILMPV16"
& einer Folge übereinstimmender Buchstaben..in(☐)
wird elementweise angewendet, z(in(a,'O'),in(b,"OCFILMPV16"))
all(.in(☐))
Beides muss gefunden werden ...|
für entwedera,b
oderb,a
...any(map(☐))
für mindestens ein Element der gezippten Liste.quelle
Kotlin ,
147139 BytesProbieren Sie es online!
Das Beispiel auf Try It Online enthält Testfälle für jede positive und einige negative Kombination.
Ich habe die reg.ex nicht optimiert. zu viel, es könnte also länger als nötig sein
BEARBEITEN: speicherte ein paar Bytes auf reg.ex.
quelle
C (gcc) , 211 Bytes
Ein erster Versuch. Sehr einfach.
Probieren Sie es online!
quelle
PHP , 204 Bytes
-147 Bytes, weil ich zurückkam, um 2 Bytes zu entfernen, nur um festzustellen, dass mein Code ein paar Bugs und unbenutzte Variablen hatte! Mein Code ist jetzt viel kürzer.
Probieren Sie es online!
quelle
Ruby, 140 Bytes
Ziemlich genau wie die Antwort in Python 3, aber mit einer anderen Ausführung.
quelle