Mini-golf a 9 buche: descrizione
- 9 sfide (per lo più abbastanza facili) di golf con codice di varia difficoltà
- Sanzioni per l'utilizzo della stessa lingua più di una volta
- Tutte le sfide su un tema specifico (questo tema: manipolazione del testo)
- L'input e l'output possono essere ragionevoli (es. STDIN e STDOUT, lettura / scrittura in un file, argomento della funzione e valore di ritorno, ecc.) Ma NON devono essere codificati nel programma
- Fortemente ispirato a 9 Hole Challenge e Text Mechanic
fori
Sacca da golf
Prendi due stringhe come input.
Emette il conteggio dei caratteri della prima stringa, ignorando ogni occorrenza di qualsiasi carattere nella seconda stringa.
Esempio:f("foobarbaz", "ao")=>5Un pre-testo per il golf
Prendi due stringhe come input.
Emette la prima stringa, con ogni riga preceduta dal secondo.
Esempio:f("foo\nbar\nbaz", "a")=>"a foo\na bar\na baz"Guerra di schede vs spazi
Prendi come input una stringas, un numerone un valore booleanob(specificato come preferisci).
Sebè vero, outputscon ogni scheda convertita innspazi.
Altrimenti, outputscon ogninspazio convertito in schede.
Esempio:f("if (x) {\n\tdoStuff();\n}", 4, true)=>"if (x) {\n[sp][sp][sp][sp]doStuff();\n}"([sp]significa spazio)Pilastri del golf
Prendi una stringa
s, un numerone un altro numeromcome input.
Outputsin colonne dinrighe ciascuna emcaratteri per colonna.
Hanno anche un'imbottitura di uno spazio tra le colonne.
Esempio:f("this is some placeholder text, foo bar baz...", 3, 5)=>this aceho foo is so lder bar b me pl text, az...Lettere amichevoli
Prendi una stringase un numeroncome input.
Stampa il gruppo dinlettere più comune ins.
Se è presente un pareggio, emettere uno o tutti.
Esempio:f("abcdeabcfghiabc", 3)=>"abc"Lettere di
Prendi una stringa come input.uovastrapazzate per colazione
Stampa la stringa con tutte le sue parole criptate (ordine delle lettere randomizzato) tranne la loro prima e ultima lettera.
Per semplicità, supponiamo che l'input sia un elenco di "parole", lo spazio separato (ovvero in@$&_():;" foo bar,@$&_():;"è considerato una "parola")
Esempio:f("this is a sentence that will be scrambled")=>"tihs is a stcneene that wlil be sclamrbed"ASCIIfy
Prendi una stringa come input.
Se la stringa contiene solo numeri e spazi, sostituisci i numeri con i rispettivi caratteri ASCII (rimuovendo gli spazi).
Altrimenti, fai il contrario (caratteri in numeri).
Esempio:f("ASCIIfy challenge")=>"65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101"
Esempio 2:f("65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101")=>"ASCIIfy challenge"Trasformazione mini-mini-markdown
Prendi una stringa come input.
Emette la stringa convertita con mini-markdown, come utilizzata nei commenti su Stack Exchange.
Si tratta di una versione ancora mini-er: avete solo bisogno di gestire**bold**,*italics*e`code`.
Non è necessario gestire l'annidamento non valido, ad esempio**foo *bar** baz*. Supponi anche che quando vedi un delimitatore (*o`), significherà sempre formattare (cioète**st**ing=>te<b>st</b>ing, efoo* bar *baz=>foo<i> bar </i>baz).
Esempio:f("**foo** *bar **baz*** `qux`")=>"<b>foo</b> <i>bar <b>baz</b></i> <code>qux</code>"Solo i migliori personaggi
Prendi una stringas, un numerone una stringarcome input.
Stampa ilncarattere di ogni parola ins. (0-indicizzati, le parole sono separate da spazio).
Se la lunghezza della parola è inferiore an, utilizzare invecerper quella parola.
Esempio:f("this is a test sentence foo bar baz", 2, "-")=>"i--snorz"
punteggio
Il tuo punteggio è la somma dei conteggi dei personaggi dei tuoi programmi. Per ogni lingua ripetuta, moltiplicare per il 110%. Ad esempio, se hai tre soluzioni Ruby e il conteggio totale dei caratteri di tutte le tue soluzioni è 1000, il tuo punteggio è 1000 * 1,1 * 1,1 = 1210. Arrotondare se si dispone di un punteggio non intero.
In bocca al lupo!
_non importa da quando ho specificato di non includerlo. Ho modificato per chiarire alcuni degli altri.
**foo***bar**baz*?