Skip Navigation
Telegram
Разбор полетов: как правильно убивать верблюдов 🐪

В рамках универсального перевода строки в snake_case такой подход с регулярками, наверное, самый хороший вариант:

import re

def to_snake_case(s: str) -> str:
s = re.sub('(.)([A-Z][a-z]+)',...

Telegram
Изгоняем верблюдов из кодовой базы 🐫

Представьте классическую боль: вы интегрируетесь со сторонним API (или парсите данные от фронтендеров), и вам прилетает JSON, где ключи названы кто во что горазд.

Ваша задача — написать функцию, которая берет...

Telegram
Разбираем сдвиги ноликов 0️⃣

Разбираем сдвиги ноликов 0️⃣

В комментах вы представили чуть ли не все способы решения задачи, какие можно придумать.

Конечно, классический паттерн для решения тут — два указателя.
Вот идеальное решение со сложностью O(n) по времени и O(1) по...

Telegram
Двигаем нолики 0️⃣

📝На вход подается список целых чисел nums. Нужно сдвинуть все нули в конец списка, сохранив исходный порядок ненулевых элементов.

Пример:
Input: [1, 0, 1, 2, 0, 1, 3]
Output: [1, 1, 2, 1, 3, 0, 0]

Сделать можно десятком...

Telegram
Разбор: Охота на смайлики 🕵️‍♂️

Давай посмотрим на присланное решение:

import re

def num_emojis(arg):
return sum([re.match("^[:;][~-]?[)D]$",i) is not None for i in arg])

Работает? Да. Оставлять такое в проде? Нет.

1️⃣ Грех аллокации
Квадратные...

Telegram
Охота на смайлики 😀

Сегодня очередная классика.
Задача:
Написать функцию, которая принимает на вход список строк и возвращает число равное количеству смайликов в этом списке.

Что считаем смайликом:
🟢у смайлика обязательно должны быть глаза....

Telegram
Как выжать максимум из однострочника 🧠

Что там с подсчетом ноликов?

Базовый инстинкт большинства — написать list comprehension:
max([len(i) for i in s.split('1')])
Работать будет. Но вы сначала сплитите строку (создавая список в памяти), а потом...

Telegram
🐍 Битва однострочников

Сегодня вам нужно проанализировать двоичную строку, состоящую только из нулей и единиц 0️⃣1️⃣1️⃣0️⃣

➰Функция должна на вход принимать такую строку и возвращать максимальное количество последовательных нулей в...

Telegram
🕳 Глубина скобочек

Для задачки было предложено такое однострочное решение с разными вариациями:
def solve(string):
s = ''.join([ch for ch in string if ch in '()'])
return len(max(s.split(')'), key=len))

Рабочее решение? Нет.
Если мы скорм...

Telegram
🙁Глубина скобочек 😌

Задачи на скобочные последовательности переживут нас всех. Сегодняшняя вариация — на поиск глубины.

Дано: Строка, содержащая корректное математическое выражение (цифры, знаки операций, скобки).
Задача: Вернуть целое число,...