СodeWars | Задачи по программированию
Open in Telegram
Решай задачи по JavaScript на всех уровнях сложности и совершенствуй свои навыки программирования каждый день Связь: @devmangx
Show more1 898
Subscribers
No data24 hours
-57 days
-2630 days
Posts Archive
Не давайте мне пять!
В этом ката вы получаете начальный и конечный номер области и должны вернуть подсчет всех чисел, кроме тех, в которых есть 5. Начальное и конечное число - оба включительно!
Примеры:
1,9 -> 1,2,3,4,6,7,8,9 -> Result 8
4,17 -> 4,6,7,8,9,10,11,12,13,14,16,17 -> Result 12
Результат может содержать пятерки. ;-) Начальное число всегда будет меньше конечного. Оба числа могут быть и отрицательными!
Мне очень интересно узнать ваши решения и то, как вы решаете эту задачу. Может быть, кто-то из вас найдет простое чисто математическое решение.
#7kyu
🔗 Перейти к задачеОбратные данные
Получен поток данных, который необходимо изменить на противоположный.
Каждый сегмент имеет длину 8 бит, значит, порядок этих сегментов нужно изменить на противоположный, например:
11111111 00000000 00001111 10101010 (байт1) (байт2) (байт3) (байт4)должно стать:
10101010 00001111 00000000 11111111 (байт4) (байт3) (байт2) (байт1)Общее количество битов всегда будет кратно 8. Данные задаются в виде массива следующим образом:
[1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,1,0,1,0]❗Примечание: В языках C и NASM вам предоставляется третий параметр - количество сегментных блоков. #6kyu 🔗 Перейти к задаче
Напишите функцию, которая принимает в качестве параметров целое число n и строку s и возвращает строку s, повторенную ровно n раз.
Пример:
6, "I" -> "IIIIII"
3, "Hello" -> "HelloHelloHello"
#8kyu
Перейти к задачеСплющивание и сортировка массива
Задача:
Задав двумерный массив целых чисел, верните отсортированную версию массива, в которой все целые числа расположены в порядке возрастания.
Пример:
Учитывая [[3, 2, 1], [4, 6, 5], [], [9, 7, 8]], ваша функция должна вернуть [1, 2, 3, 4, 5, 6, 7, 8, 9].
Дополнение:
Пожалуйста, помните, что JavaScript по умолчанию сортирует объекты в алфавитном порядке. Для получения дополнительной информации, пожалуйста, обратитесь к: тык
#7kyu
🔗 Перейти к задаче
Удаляйте ChatGPT. Вы не умеете им пользоваться.
Большинство пользователей спамит в ИИ всякую чушь — просят рассказать анекдот, изливают душу и используют как Гугл.
Российский тимлид OpenAI Вадим Петрич рассказывает в «Доктор GPT» как извлекать из нейронок максимум пользы. Это очень интересно:
• ТОП №1 нейросеть, генерирующая видео без цензуры вообще
• Готовые промты на все случаи жизни
• Инсайды и разработки от китов индустрии
Подпишитесь, с Доктором GPT нейронки станут инструментом роста, а не безделушкой:
https://t.me/+K65EHRh_x_c2OTli
Проблема разрыва шоколада
Ваша задача - разделить шоколадку заданного размера n x m на маленькие квадратики. Каждый квадрат имеет размер 1x1 и является неразрывным. Реализуйте функцию, которая вернет минимальное количество необходимых разбиений.
Например, если вам дана шоколадка размером 2 x 1, вы можете разделить ее на отдельные квадратики за одно разбиение, но для размера 3 x 1 вам придется сделать два разбиения.
Если входные данные недействительны, вы должны вернуть 0 (например, если у нас нет шоколада для разбиения, то разбивать не нужно). Входные данные всегда будут неотрицательным целым числом.
#7kyu
🔗 Перейти к задаче
@codewars_tg
Следует исключить из списка а все значения, которые присутствуют в списке Ь, сохраняя их порядок.
Пример:
arrayDiff([1,2],[1]) == [2]
arrayDiff([1,2,2,2,3],[2]) == [1,3]
#6kyu
Перейти к задачеНа фабрике есть принтер, который печатает ярлыки для коробок. Для одного типа коробок принтер должен использовать цвета, которые, для простоты, обозначены буквами от a до m.
Использованные принтером цвета фиксируются в строке контроля. Например, "хорошая" контрольная строка может выглядеть как aaabbbbhaijjjm, что означает: принтер три раза использовал цвет a, четыре раза b, один раз h, потом снова один раз a и так далее.
Иногда случаются проблемы вроде отсутствия краски или технических багов, и получается "плохая" строка. Например: aaaxbbbbyyhwawiwjjjwwm, где встречаются буквы вне диапазона a–m.
Нужно написать функцию printer_error, которая принимает строку и возвращает процент ошибок в виде строки формата числоОшибок/длинаСтроки. Дробь упрощать не нужно.
Строка всегда имеет длину минимум 1 и содержит только буквы от a до z.
Примеры:
s = "aaabbbbhaijjjm" printer_error(s) => "0/14" s = "aaaxbbbbyyhwawiwjjjwwm" printer_error(s) => "8/22"Lets go!
Дан массив из единиц и нулей. Нужно преобразовать его в целое число, интерпретируя массив как бинарное число.
Пример: [0, 0, 0, 1] рассматривается как 0001, что соответствует десятичному числу 1.
Примеры:
Testing: [0, 0, 0, 1] ==> 1
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 0, 1] ==> 5
Testing: [1, 0, 0, 1] ==> 9
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 1, 0] ==> 6
Testing: [1, 1, 1, 1] ==> 15
Testing: [1, 0, 1, 1] ==> 11
При этом длина массива может быть любой, не обязательно равной 4.
Lets go!
Реализуй функцию, которая складывает два числа и возвращает их сумму в бинарном виде. Преобразование можно сделать до или после сложения.
Результат должен быть строкой.
Примеры (Input1, Input2 --> Output (пояснение)):
1, 1 --> "10" (1 + 1 = 2 в десятичной системе, или 10 в бинарной)
5, 9 --> "1110" (5 + 9 = 14 в десятичной системе, или 1110 в бинарной)
Lets go!
Проверь, содержит ли строка одинаковое количество символов x и o. Метод должен возвращать boolean и не учитывать регистр. В строке могут быть любые символы.
Примеры ввода и вывода:
XO("ooxx") => true
XO("xooxx") => false
XO("ooxXm") => true
XO("zpzpzpp") => true // если в строке нет ни x, ни o, возвращаем true
XO("zzoo") => false
Lets go!
Ты наверняка знаком с системой лайков из Facebook и похожих сервисов. Пользователи могут ставить лайки постам, картинкам или другим объектам. Нам нужно сформировать текст, который будет отображаться рядом с таким объектом.
Реализуй функцию, которая принимает массив с именами пользователей, поставивших лайк. Функция должна вернуть строку в соответствии с примерами:
[] → "no one likes this"
["Peter"] → "Peter likes this"
["Jacob", "Alex"] → "Jacob and Alex like this"
["Max", "John", "Mark"] → "Max, John and Mark like this"
["Alex", "Jacob", "Mark", "Max"] → "Alex, Jacob and 2 others like this"
Примечание: если имен 4 или больше, число в "and 2 others" просто увеличивается.
Lets go!
Любовь против дружбы
Если
a = 1, b = 2, c = 3 ... z = 26
Тогда l + o + v + e = 54
и f + r + i + e + n + d + s + h + i + p = 108
Так что дружба вдвое сильнее любви :-)
Ваша задача - написать функцию, которая вычисляет значение слова по сумме алфавитных позиций его символов.
Входные данные всегда будут состоять только из строчных букв и никогда не будут пустыми.
#7kyu
🔗 Перейти к задаче
@codewars_jsСовершите десятиминутную прогулку
Вы живете в городе Картезия, где все дороги выстроены в идеальную сетку. Вы пришли на встречу на десять минут раньше назначенного времени, поэтому решили воспользоваться возможностью и немного прогуляться. Городские власти установили на свои телефоны приложение Walk Generating App - каждый раз, когда вы нажимаете на кнопку, оно отправляет вам массив однобуквенных строк, обозначающих направления для прогулок (например, ['n', 's', 'w', 'e']). Вы всегда проходите только один квартал для каждой буквы (направления) и знаете, что на прохождение одного городского квартала уходит одна минута, поэтому создайте функцию, которая будет возвращать true, если прогулка, которую вам назначит приложение, займет ровно десять минут (вы же не хотите прийти раньше или опоздать!) и, конечно же, вернет вас в исходную точку. В противном случае вернется false.
❗ Примечание: вы всегда получите правильный массив, содержащий случайный набор букв направления ('n', 's', 'e' или 'w'). Он никогда не выдаст вам пустой массив (это не прогулка, это стояние на месте!).
#7kyu
🔗 Перейти к задаче
@codewars_tg
WeIrD StRiNg CaSe
Напишите функцию, которая принимает строку и возвращает ту же самую строку со всеми четными символами в каждом слове, выделенными верхним регистром, и всеми нечетными символами в каждом слове, выделенными нижним регистром. Индексация, как уже объяснялось, основана на нулях, поэтому нулевой индекс четный, следовательно, этот символ должен быть в верхнем регистре, и вам нужно начать сначала для каждого слова.
Переданная строка будет состоять только из алфавитных символов и пробелов(' '). Пробелы будут присутствовать только при наличии нескольких слов. Слова будут разделены одним пробелом(' ').
Примеры:
"String" => "StRiNg"
"Weird string case" => "WeIrD StRiNg CaSe"
#6kyu
🔗 Перейти к задаче
@codewars_tgТройные неприятности
Создайте функцию, которая будет возвращать строку, объединяющую все буквы трех введенных строк в группы. Возьмите первую букву всех вводимых строк и сгруппируйте их рядом друг с другом. Сделайте это для каждой буквы, см. пример ниже! Примечание: Вы можете ожидать, что все входные данные будут одинаковой длины.
Пример:
tripleTrouble("aaa","bbb","ccc") = "abcabcabc"
#8kyu
Перейти к задачеНеобходимо реализовать функцию, которая вычисляет сумму целых чисел внутри строки.
Примечание: проверяются только положительные целые числа.
Например, в строке "The30quick20brown10f0x1203jumps914ov3r1349the102l4zy dog" сумма целых чисел равна 3635.
#7kyu
Перейти к задаче
То, что доктор прописал!
9 самых необходимых IT-каналов, которые должен читать каждый айтишник:
Доктор Python — коды, хаки и фичи.
Доктор Techlogy — свежие технологии и их применение.
Доктор Cyber — информационная безопасность без скуки.
Доктор GitHub — лучшие репозитории от врача.
Доктор IT — всё о цифровом мире и его инсайтах.
Доктор GameDev — рецепты создания игр и гайды.
Доктор GPT — лучшие промпты и сервисы ИИ.
Доктор Memes — смех лечит лучше любых апдейтов.
Доктор C++ — фичи, советы и код без боли.
Подпишись, чтобы стать профессором, а не пациентом.
Определите функцию, которая принимает целочисленный аргумент и возвращает логическое значение true или false в зависимости от того, является ли это целое число простым.
Согласно Википедии, простое число (или прайм) - это натуральное число больше 1, которое не имеет положительных делителей, кроме 1 и самого себя.
Требования
🟡 Вы можете предположить, что вам будет задано целое число.
🟡 Вы не можете предполагать, что это целое число будет только положительным. Вам могут быть даны и отрицательные числа ( или 0 ).
🟡 Замечание по производительности: Не требуется никаких причудливых оптимизаций, но все же самые тривиальные решения могут выходить из строя. Числа доходят до 2^31 ( или аналогично, в зависимости от языка ). Циклы до n или n/2 будут слишком медленными.
Пример
is_prime(1) /* false */
is_prime(2) /* true */
is_prime(-1) /* false */
#6kyu
🔗 Перейти к задаче
@codewars_tgЗарплата 207.000р у Middle-разработчика в Яндекс
«В день уходит несколько часов на созвоны, в остальное время закрываю задачки из спринта, редко перерабатываю. У компании топовый офис, но с коллективом как-то не заладилось. Радуюсь классному ДМС и стабильной зарплате» - middle разработчик из Яндекса.
Бигтех по-русски - канал с реальными зарплатами и историями IT-специалистов российского БигТеха. Там уже опубликованы рассказы программистов Альфа-банка, Сбера и Тинькофф 🤯
Читайте: @bigtech_russia
