9 викликів на дірку
- 9 кодових проблем із гольфу різної складності.
- Штраф за використання однієї і тієї ж мови не один раз.
Питання буде оновлено парками, чемпіонами за дірками та переможцями трофеїв.
Це відбувається через змагання, яке я маю з деякими друзями, це не звичайний формат, але я сподіваюся, що хтось із вас оцінить різну вертушку на ньому. Виклики, правила та трофеї нижче.
Отвори
Грінвей (24)
f(c:string, n:integer)
Друкує рядок, що міститьn
екземпляриc
.Десь у Грубій (73)
f(t:string, s:string, n:integer) -> i
Деi
індексnth
екземпляраs
вt
.Карі для вечері (6235)
f(x:function, y: function) -> g
Деg
функція, яка буде викликатиy
,n
час; деn
повертається значенняx
Виступ (92)
f(p:string)
Записує у файлp
і заповнює його прямокутником випадкового розміру випадкових символів (аscіі).Пошук скарбів (75)
f(p:string, c:char) -> (x, y)
Зчитує файл вp
якому міститься сітка символів і повертаєx
іy
координати першого примірника цього символу в сітці, припустимо , що існує.Міст на річці Квай (179)
f(l:list[int])
Друкує діаграму мостів різниці дляl
. Напр[1,7,3,17,1]
/+6\ /-4\ /+14\ /-16\ 1 7 3 17 1
Переконайтеся, що пробіли створені відповідно до розміру номера вище. Для трицифрового довгого номера вам знадобляться 4 пробіли між цифрами у рядку нижче.
Лови: Десь у вашому коді має бути написано штани (Повинно мати принаймні 1 нелітерно-цифрові роздільники. Наприклад
tr(ou,se)(rs)
Час летить, коли ви граєте в гольф (1157)
f(p:string) -> [h, m]
Читає файл, вp
якому міститься ASCII-зображення аналогового годинника, де годинна рука представлена одним рядком, а хвилини - двома. Виведіть список, що містить два елементи: години та хвилини, показані на годиннику. Якщо видно лише одну руку, припустіть обидві точки до цієї позиції.Ось всі можливі комбінації для руки.
\ | / \|/ --o-- /|\ / | \
Ці позиції відповідно є (12, 1, 3, 5, 6, 7, 9, 11). Припустимо, що інші символи на обличчі годинника - це пробіли.
Пиломатеріали! ()
f(p:string) -> b:boolean
Де p - шлях до файлу з будівлею ascii. Блоки з білим простором під ними впадуть. (За винятком косої риси, яка залишається на місці, якщо є стійкий блок у напрямку, протилежному тому, як вони стикаються). Якщо будівля є структурно цілісною, поверніть справжнє, інакше поверніть хибне. Усі блоки, що не мають пробілу, вважаються суцільними та іншими, ніж косої риски, всі вони падають.Конструктивно безпечний
____ |/\| | |
Не безпечно
|__ | |
Безпечна версія
|__ \\| |
Slacker News (218)
f(s:string, r:string, p:string)
Отримує назви 20 кращих історій на Hacker News і змінює всі екземпляри ,s
щобr
, потім записує нові заголовки в HTML - файл , вp
, де кожен заголовок міститься в h1 елемента.Виведений файл повинен мати щось подібне
<h1>Some title</h1></h1>Some other title</h1>...etc
Ловити :
- Ви не можете використовувати HN api.
- Ви не можете використовувати Regex.
- Ви не можете використовувати кутові дужки ніде у своєму коді.
Оцінка балів
- Кількість символів - це довжина функції, яка буде правильно складати та запускати. Однак вам все одно потрібно подати повний код, включаючи імпорт.
- + 10% за кожну повторювану мову у вашій заяві. (Наприклад, якщо ви використовуєте Ruby для 3 рішень, то ваш кінцевий бал буде помножений на 1,2). Різні версії однієї мови вважаються однаковою.
- Пар буде середнім балом за кожну лунку.
- Надішліть свої рішення однією відповіддю.
- Ваш загальний бал - це ваш кількість символів + ваша мовна кара, а потім округлите його.
Трофеї
- Золота куртка - ( @Sprigyig - 1290) Найнижчий загальний бал
- Shooter - ( @Sprigyig - 9) Більшість використовуваних мов
- Бункер - Найвищий показник номіналу на будь-якому отворі
- Змії на площині - ( @AsksAnyway - 1727) Найвища подача символів пітона в одному рішенні
- Хороші частини - ( @AsksAnyway - 255) Найбільша кількість символів JS в одному рішенні
- Shakey Steve - найкоротше рішення, що використовує інтерфейси
- You Not From Round Here - найкоротше унікальне мовне рішення, що мова має найкоротшу сторінку вікіпедії.
- Happy Gilmoore - ( @AsksAnyway - 31) Найкоротше рішення, що в коді має слово 'алігатор'.
- Unicycling Dwarf Magic - розширення за замовчуванням для ваших 9 вихідних файлів подання є ідеальною анаграмою слова в Оксфордському словнику.
Ви можете отримати трофей лише після того, як ви виконали всі 9 лунок
Подання
- @Sprigyig 1290
- @Firefly 1320
- @grc 1395
- @Trevor M 1465
- @C Gearhart 1654
- @Guy Sirton 1719
- @AsksAnyway 4651
/
позиція стосувалася 1 години або 2 години? (і аналогічно для всіх інших діагоналей)
<
&>