Mini-golf 9 trous: description
- 9 défis de golf de code (généralement assez faciles) de difficulté variable
- Pénalités pour avoir utilisé la même langue plusieurs fois
- Tous les défis sur un thème spécifique (ce thème: Manipulation de texte)
- L'entrée et la sortie peuvent être raisonnables (c.-à-d. STDIN et STDOUT, lecture / écriture dans un fichier, argument de fonction et valeur de retour, etc.) mais NE doivent PAS être codées en dur dans le programme
- Fortement inspiré par 9 Hole Challenge et Text Mechanic
des trous
Sac de golf code
Prenez deux chaînes en entrée.
Affiche le nombre de caractères de la première chaîne, tout en ignorant toute occurrence d'un caractère dans la deuxième chaîne.
Exemple:f("foobarbaz", "ao")
=>5
Un pré-texte pour le golf
Prenez deux chaînes en entrée.
Sortez la première chaîne, chaque ligne étant préfixée par la seconde.
Exemple:f("foo\nbar\nbaz", "a")
=>"a foo\na bar\na baz"
Guerre des onglets vs espaces
Prenez une chaînes
, un nombren
et un booléenb
(spécifié comme vous le souhaitez) en entrée.
Sib
est vrai, affichezs
chaque onglet converti enn
espaces.
Sinon, affichez les
avec tous lesn
espaces convertis en tabulations.
Exemple:f("if (x) {\n\tdoStuff();\n}", 4, true)
=>"if (x) {\n[sp][sp][sp][sp]doStuff();\n}"
([sp]
signifie espace)Piliers de golf
Prenez une chaîne
s
, un nombren
et un autre nombrem
en entrée.
Sorties
en colonnes den
lignes chacune etm
caractères par colonne.
Ayez également un espace d'un espace entre les colonnes.
Exemple:f("this is some placeholder text, foo bar baz...", 3, 5)
=>this aceho foo is so lder bar b me pl text, az...
Lettres amicales
Prenez une chaînes
et un nombren
en entrée.
Sortez le groupe den
lettres le plus courants
.
S'il y a une égalité, sortez tout ou partie d'entre eux.
Exemple:f("abcdeabcfghiabc", 3)
=>"abc"
Brouillées
Prenez une chaîne en entrée.œufslettres pour le petit déjeuner
Sortez la chaîne avec tous ses mots brouillés (ordre des lettres aléatoire) à l'exception de leurs première et dernière lettres.
Par souci de simplicité, supposons que l'entrée sera une liste de "mots", séparés par des espaces (c'est-à-dire dans@$&_():;" foo bar
,@$&_():;"
est considéré comme un "mot").
Exemple:f("this is a sentence that will be scrambled")
=>"tihs is a stcneene that wlil be sclamrbed"
ASCIIfy
Prenez une chaîne en entrée.
Si la chaîne ne contient que des nombres et des espaces, remplacez les nombres par leurs caractères ASCII respectifs (en supprimant les espaces).
Sinon, faites l'inverse (des caractères aux chiffres).
Exemple:f("ASCIIfy challenge")
=>"65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101"
Exemple 2:f("65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101")
=>"ASCIIfy challenge"
Transformation mini-mini-démarque
Prenez une chaîne en entrée.
Sortez la chaîne convertie avec mini-markdown, comme utilisé dans les commentaires sur Stack Exchange.
Ceci est une version encore mini-er: il vous suffit de gérer**bold**
,*italics*
et`code`
.
Vous n'avez pas besoin de gérer l'imbrication invalide, comme**foo *bar** baz*
. Supposons également que lorsque vous voyez un délimiteur (*
ou`
), cela signifie toujours de formater (c'est-à-direte**st**ing
=>te<b>st</b>ing
etfoo* bar *baz
=>foo<i> bar </i>baz
).
Exemple:f("**foo** *bar **baz*** `qux`")
=>"<b>foo</b> <i>bar <b>baz</b></i> <code>qux</code>"
Seuls les meilleurs personnages
Prenez une chaînes
, un nombren
et une chaîner
en entrée.
Sortez len
e caractère de chaque mots
. (Indexés 0, les mots sont séparés par des espaces).
Si la longueur du mot est inférieure àn
, utilisezr
plutôt ce mot.
Exemple:f("this is a test sentence foo bar baz", 2, "-")
=>"i--snorz"
Notation
Votre score est la somme du nombre de caractères de vos programmes. Pour chaque langue répétée, multipliez par 110%. Par exemple, si vous avez trois solutions Ruby et que le nombre total de caractères de toutes vos solutions est de 1000, votre score est de 1000 * 1,1 * 1,1 = 1210. Arrondissez si vous avez un score non entier.
Bonne chance!
_
n'a pas d'importance puisque j'ai spécifié de ne pas l'inclure. J'ai édité pour clarifier certains des autres.
**foo***bar**baz*
?