Lisez deux chaînes de stdin
.
Sortie Yes
si une chaîne est une version pivotée de l'autre.
Sinon, sortieNo
Cas de test
Contribution
CodeGolf GolfCode
Production
Yes
Contribution
stackexchange changestackex
Production
Yes
Contribution
stackexchange changestack
Production
No
Contribution
Hello World
Production
No
Stackexchange Stackchangeex
reviendra?No
. La rotation est un décalage, comme ces signes de défilement LEDRéponses:
APL (28)
Prend l'entrée sur deux lignes.
Explication:
A←⍞
: lire une ligne d'entrée et la stocker dans A⌽∘A¨⍳⍴A
: Faites pivoter A de x, pour chaque x dans [1..longueur A]. Donne une liste, c.-à-d.estT stTe tTes Test
(⊂⍞)∊
: lire une autre ligne d'entrée, et voir si elle est dans cette liste.1+
: ajoutez-en un, en donnant 1 si les cordes n'ont pas été tournées et 2 si elles étaient'No' 'Yes'[
...]
: Sélectionnez le premier ou le deuxième élément dans la liste'No' 'Yes'
selon que les chaînes ont été tournées ou non.la source
Rubis
4941Modifier: gets.split remplacé par $ *
la source
$*
est argv quand la question spécifiéestdin
cependant.Python, 70 octets
Test ...
la source
stdin
, ce que cette solution ne fait pas.print ['No
Python 70 caractères
Merci à gnibbler pour le truc de tranche.
la source
nn nfn
, vous obtenezYes
, ce qui est faux.<>
par-
car cela entraînera également0
s'ils sont de longueur égale.J, 47
la source
Selon la spécification (mêmes longueurs de chaîne):
Perl,
4243 caractèresSi des chaînes de tailles différentes sont autorisées, la solution serait:
Perl, 47 caractères
rbo
la source
nn nfn
, vous obtenezYes
, ce qui est faux.Golfscript, 31
Celui-ci vérifie d'abord la longueur, il devrait donc fonctionner comme prévu.
la source
:)
et=)
+1 pour un code très heureuxJ, 57
Exemple d'utilisation:
la source
Windows PowerShell, 76
la source
JavaScript, 51
JavaScript n'a pas d'hôte canonique, donc cette réponse est écrite en fonction de deux arguments. Le score monte à 60 si nous interdisons les fonctionnalités JS 1.7 (fermetures d'expression).
Dans le shell SpiderMonkey ce serait (pour un score de 71):
la source
=>
notation de fonction;)Python,
6663Une autre solution en 69 caractères
la source
print'YNeos'[a!=(2*a).replace(b,"")::2]
J, 84
la source
JavaScript (120 caractères)
Production:
la source
Rubis, 58 (62) caractères
Cette solution suppose que l'entrée ne contient que des caractères alphanumériques (en fait, tout ce qui n'a pas de signification particulière dans une expression régulière est correct).
Une solution qui n'a pas cette contrainte est plus longue de 4 caractères
la source
Python, 71
la source
nn nfn
, vous obtenezYes
, ce qui est faux.PHP, 61
la source
Rubis, 41
la source
puts gets =~ /^(.+)(.*) \2\1$/ ?:Yes: :No
- augmente la valeur à 41 caractères.Haskell (
9896 caractères)la source
Q (
5043 caractères)la source
Scala 78
C'est dommage pour la vérification de la taille, sans elle le nombre tombe à 54
la source
"""val b=readLine split " " print(b(0).sorted==b(1).sorted)""".length
donne 56bash 56
la source
GolfScript, 25 octets
Comment ça fonctionne
la source
CJam, 21 octets
Essayez-le en ligne!
la source
0
/1
au lieu deNo
/Yes
.Lua 115 caractères
la source
Programme C - 146
la source
PHP, 82 caractères
la source
perl, 123 caractères
la source
Rubis,
3037Une version qui affiche "vrai" et "faux" au lieu de "oui" et "non":
Ces deux fonctionnent avec des chaînes de longueur différente (contrairement à l'ancien)
la source
Python 2, 86 caractères
la source
Perl (juste une solution rapide)
Une solution à la solution des bottes en caoutchouc, étant un nouvel utilisateur que je suis, je ne peux pas encore commenter donc je vais juste poster une nouvelle réponse.
Comme la méthode mentionnée utilise une expression régulière construite à partir d'une entrée utilisateur, il est possible d'effectuer une petite injection d'expression régulière, comme suit:
Le correctif consiste à utiliser \ Q (également appelé quotemeta):
Le code lui-même pourrait être encore raccourci en utilisant «dire» mais cela est laissé au lecteur comme exercice :)
la source
print+(qw/yes no/)[
you can probably writeprint qw(yes no)[
which is two characters shorter.