Загрузка данных
Задача 1. Перевернуть строку Условие: На вход подается строка. Необходимо вернуть новую строку, в которой все символы исходной строки записаны в обратном порядке. Пример: Вход: "Привет" Выход: "тевирП"
Задача 2. Подсчет гласных букв Условие: Дана строка текста. Необходимо подсчитать, сколько гласных букв русского алфавита (а, е, ё, и, о, у, ы, э, ю, я) содержится в этой строке. Регистр букв не имеет значения (считать 'А' и 'а' одной и той же гласной). Пример: Вход: "Программирование" Выход: 6
Задача 3. Удаление всех пробелов Условие: На вход подается строка, содержащая произвольный текст с пробелами. Необходимо удалить из строки все пробелы и вернуть полученный результат без них. Пример: Вход: "Мороз и солнце день чудесный" Выход: "Морозисолнцеденьчудесный"
Задача 4. Заглавная буква в каждом слове Условие: Дана строка, состоящая из слов, разделенных ровно одним пробелом. Необходимо сделать первую букву каждого слова заглавной, а остальные буквы в словах оставить без изменений. Пример: Вход: "привет мир" Выход: "Привет Мир"
Задача 5. Проверка на числовую строку Условие: На вход подается строка. Необходимо проверить, состоит ли она исключительно из цифр (от 0 до 9). Если строка пустая или содержит хотя бы один нецифровой символ (включая пробелы и знаки препинания), вернуть False. Пример: Вход: "12345" Выход: True Вход: "123a5" Выход: False
Задача 6. Замена конкретного символа Условие: Дана строка и два отдельных символа. Необходимо заменить в строке все вхождения первого символа на второй. Задачу нужно решить, проходя по строке посимвольно (без использования встроенных методов полной замены подстрок, таких как Replace). Пример: Вход: «мама мыла раму», заменить 'а' на 'о' Выход: «момо мыло рому»
Задача 7. Подсчет вхождений подстроки Условие: Даны две строки: основная строка и искомая подстрока. Необходимо подсчитать, сколько раз искомая подстрока встречается в основной строке. Вхождения не должны пересекаться. Пример: Вход: "мама мыла раму", "ма" Выход: 3
Задача 8. Удаление подряд идущих дубликатов Условие: На вход подается строка. Необходимо удалить из нее все подряд идущие одинаковые символы, оставив только по одному экземпляру каждого. Пример: Вход: "aaabbbccc" Выход: "abc" Вход: "hello" Выход: "helo"
Задача 9. Инверсия регистра Условие: Дана строка, состоящая из букв. Необходимо создать новую строку, в которой все строчные буквы станут заглавными, а все заглавные — строчными. Цифры и знаки препинания должны остаться без изменений. Пример: Вход: "Привет Мир 123!" Выход: "пРИВЕТ мИР 123!"
Задача 10. Извлечение только цифр Условие: На вход подается строка, содержащая буквы, цифры и специальные символы. Необходимо сформировать новую строку, которая будет состоять только из цифр исходной строки, расположенных в том же порядке. Пример: Вход: "a1b2c3!@#" Выход: "123"
Задача 11. Поиск самого короткого слова Условие: Дана строка, представляющая собой предложение, где слова разделены ровно одним пробелом. Знаки препинания в предложении отсутствуют. Необходимо найти слово с минимальной длиной. Если таких слов несколько, вывести первое встретившееся. Пример: Вход: "Я люблю писать простой код" Выход: "Я"
Задача 12. Перестановка первого и последнего символа Условие: На вход подается строка. Необходимо поменять местами её первый и последний символы. Если строка пустая или состоит из одного символа, её изменять не нужно. Пример: Вход: "Привет" Выход: "тривеП"
Сложная часть.
Задача 1. Подсчет слов и поиск самого длинного
Условие: На вход подается строка текста, содержащая слова, разделенные одним или несколькими пробелами. Необходимо подсчитать общее количество слов в строке и найти слово с максимальной длиной. Если таких слов несколько, вывести первое встретившееся. Знаки препинания, прикрепленные к словам, учитывать как часть слова не нужно (их следует игнорировать при подсчете длины). Пример: Вход: "Привет, это тестовая строка для задачи" Выход: Количество слов: 6, Самое длинное слово: "тестовая"
Задача 2. Проверка на палиндром
Условие: Реализуйте алгоритм, который проверяет, является ли введенная строка палиндромом. При проверке необходимо игнорировать регистр букв (считать заглавные и строчные буквы одинаковыми), а также полностью игнорировать все пробелы и знаки препинания. Пример: Вход: "А роза упала на лапу Азора" Выход: True (Строка является палиндромом)
Задача 3. Извлечение и суммирование чисел
Условие: Дана строка, содержащая произвольный текст и встроенные в него числа (как целые, так и дробные). Необходимо извлечь из строки все числа и вычислить их сумму. Числа могут быть разделены любыми нецифровыми символами. Разделитель дробной части — точка. Пример: Вход: "В корзине 3 яблока и 5.5 груш, а всего 100 рублей" Выход: 108.5
Задача 4. Преобразование регистра (CamelCase в snake_case)
Условие: На вход подается строка, записанная в формате CamelCase (первое слово начинается с маленькой буквы, каждое следующее слово начинается с заглавной, пробелы отсутствуют). Необходимо преобразовать эту строку в формат snake_case, где все буквы становятся строчными, а слова разделяются символом подчеркивания. Пример: Вход: "calculateTotalSum" Выход: "calculate_total_sum"
Задача 5. Поиск уникальных символов
Условие: Реализуйте метод, который принимает строку и возвращает новую строку, состоящую только из тех символов исходной строки, которые встречаются в ней ровно один раз. Порядок символов в результирующей строке должен соответствовать порядку их первого появления в исходной строке. Регистр букв учитывать (считать 'A' и 'a' разными символами). Пробелы также считаются символами. Пример: Вход: "success" Выход: "ue"
Задача 6. Форматирование телефонного номера
Условие: На вход подается строка, содержащая 11 цифр российского телефонного номера в произвольном формате (с пробелами, дефисами, скобками или без них). Необходимо очистить строку от всех лишних символов и отформатировать номер в стандартный вид: +7 (XXX) XXX-XX-XX. Если количество цифр в очищенной строке не равно 11, вывести сообщение об ошибке. Пример: Вход: "8 (900) 123-45-67" Выход: "+7 (900) 123-45-67"
Задача 7. Кодирование повторов (Run-Length Encoding) Условие: На вход подается строка, состоящая из строчных латинских букв. Необходимо сжать строку, заменив последовательности одинаковых символов на символ и количество его повторений. Если символ встречается один раз, количество все равно должно быть указано. Пример: Вход: "aaabbcccc" Выход: "a3b2c4"
Задача 8. Проверка на анаграммы Условие: Даны две строки. Необходимо определить, являются ли они анаграммами. Анаграммами считаются строки, которые состоят из одних и тех же символов, встречающихся одинаковое количество раз. При проверке следует игнорировать пробелы, знаки препинания и регистр букв. Пример: Вход: "Кот", "Ток" Выход: True Вход: "Listen", "Silent" Выход: True
Задача 9. Баланс скобок Условие: Дана строка, содержащая только символы скобок: '(', ')', '[', ']', '{', '}'. Необходимо проверить, является ли строка правильной (сбалансированной). Правильной считается строка, в которой каждой открывающей скобке соответствует соответствующая закрывающая, и скобочные группы не пересекаются. Пример: Вход: "{[()]}" Выход: True Вход: "([)]" Выход: False
Задача 10. Самая длинная подстрока без повторяющихся символов Условие: На вход подается строка. Необходимо найти длину самой длинной подстроки (непрерывной последовательности символов), в которой ни один символ не повторяется. Регистр букв учитывать (считать 'A' и 'a' разными символами). Пример: Вход: "abcabcbb" Выход: 3 (подстрока "abc") Вход: "bbbbb" Выход: 1
Задача 11. Нахождение самого длинного общего префикса Условие: Дан массив строк. Необходимо найти самую длинную строку, которая является префиксом (началом) для всех строк в массиве. Если общего префикса нет, вернуть пустую строку. Пример: Вход: ["flower", "flow", "flight"] Выход: "fl" Вход: ["dog", "racecar", "car"] Выход: "" (пустая строка)
Задача 12. Шифр Цезаря Условие: Реализуйте алгоритм шифрования строки с помощью шифра Цезаря. На вход подается строка и целое число N (сдвиг). Необходимо сдвинуть каждую букву в строке на N позиций вперед по алфавиту. Алфавит считается циклическим. Регистр букв (заглавные/строчные) должен сохраняться. Неалфавитные символы (пробелы, цифры, знаки препинания) должны оставаться без изменений. Пример: Вход: "Hello, World!", 3 Выход: "Khoor, Zruog!"