Міні-гольф з 9 отворами: Опис
- 9 (здебільшого досить легких) викликів для гольфу з кодом різної складності
- Штраф за використання однієї і тієї ж мови не один раз
- Усі виклики щодо певної теми (ця тема: Маніпуляція текстом)
- Введення та вихід можуть бути де завгодно розумними (наприклад, STDIN та STDOUT, читання з / запису у файл, аргумент функції та значення повернення тощо), але НЕ повинні бути жорстко кодовані в програмі
- Сильно натхненний 9 викликом отворів та механікою тексту
Отвори
Сумка-гольф з кодом
Візьміть два рядки як вхідні дані.
Виведіть кількість символів першого рядка, ігноруючи виникнення будь-якого символу у другій рядку.
Приклад:f("foobarbaz", "ao")
=>5
Попередній текст для гольфу
Візьміть два рядки як вхідні дані.
Виведіть перший рядок, при цьому кожен рядок має префікс другого.
Приклад:f("foo\nbar\nbaz", "a")
=>"a foo\na bar\na baz"
Війна вкладок і пробілів
Візьміть рядокs
, числоn
та булеве значенняb
(вказано, як вам потрібно).
Якщоb
це правда, виведітьs
кожну вкладку, перетворену наn
пробіли.
В іншому випадку виведітьs
усіn
пробіли, перетворені на вкладки.
Приклад:f("if (x) {\n\tdoStuff();\n}", 4, true)
=>"if (x) {\n[sp][sp][sp][sp]doStuff();\n}"
([sp]
означає пробіл)Стовпи гольфу
Візьміть рядок
s
, числоn
та інше числоm
як вхідні дані.
Виведітьs
у стовпцяхn
рядків кожен таm
символів у стовпці.
Також мають прокладки одного проміжку між стовпцями.
Приклад:f("this is some placeholder text, foo bar baz...", 3, 5)
=>this aceho foo is so lder bar b me pl text, az...
Дружні листи
Візьміть рядокs
і числоn
як вхідні дані.
Виведіть найпоширенішу групуn
букв уs
.
Якщо є краватка, виведіть будь-яку або всі з них.
Приклад:f("abcdeabcfghiabc", 3)
=>"abc"
Яєчня
Візьміть рядок як вхідний.яйцялисти на сніданок
Виведіть рядок з усіма його скремблированими (порядок букв рандомізованим), за винятком їх першої та останньої літери.
Для простоти припустімо, що вхідним записом буде список "word" s, пробіл розділений (тобто в@$&_():;" foo bar
,@$&_():;"
вважається "word.")
Приклад:f("this is a sentence that will be scrambled")
=>"tihs is a stcneene that wlil be sclamrbed"
ASCIIfy
Візьміть рядок як вхідний.
Якщо рядок містить лише числа та пробіли, замініть номери відповідними символами ASCII (видаляючи пробіли).
Інше, зробіть зворотне (символи до чисел).
Приклад:f("ASCIIfy challenge")
=>"65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101"
Приклад 2:f("65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101")
=>"ASCIIfy challenge"
Міні-міні-трансформація розмітки
Візьміть рядок як вхідний.
Виведіть рядок, перетворений за допомогою міні-розмітки, як це використовується в коментарях щодо Stack Exchange.
Це навіть міні-ер версії: вам потрібно тільки обробляти**bold**
,*italics*
і`code`
.
Вам не потрібно обробляти недійсні гніздування, наприклад**foo *bar** baz*
. Припустимо також, що коли ви бачите роздільник (*
або`
), він завжди буде означати форматування (тобтоte**st**ing
=>te<b>st</b>ing
іfoo* bar *baz
=>foo<i> bar </i>baz
).
Приклад:f("**foo** *bar **baz*** `qux`")
=>"<b>foo</b> <i>bar <b>baz</b></i> <code>qux</code>"
Тільки найкращі персонажі
Візьміть рядокs
, числоn
та рядокr
як вхідні дані.
Виведіть першийn
символ кожного слова вs
. (0-індексовано, слова розділені пробілом).
Якщо довжина слова меншаn
, використовуйтеr
замість цього слова.
Приклад:f("this is a test sentence foo bar baz", 2, "-")
=>"i--snorz"
Оцінка балів
Ваш бал - це кількість підрахунків символів ваших програм. Для кожної повторної мови помножте на 110%. Наприклад, якщо у вас є три рішення Ruby, а загальна кількість символів для всіх ваших рішень становить 1000, ваш рахунок становить 1000 * 1,1 * 1,1 = 1210. Округніть вниз, якщо у вас неціла оцінка.
Удачі!
_
не важливо, оскільки я вказав, що не включати його. Я відредагував, щоб уточнити деякі інші.
**foo***bar**baz*
?