Решение задач Codewars JS | Junior, Middle, Senior | ЧАСТЬ 5

  Рет қаралды 3,874

Эльбрус Буткемп: школа программирования

Эльбрус Буткемп: школа программирования

26 күн бұрын

🎉 Скидка 50% на курсы!
Основы JavaScript: go.elbrusboot.camp/js-basics
Основы Data Science: go.elbrusboot.camp/ds-basics-
Продолжение полюбившейся многим серии видео от Александра Князева, mentor lead направления JavaScript Москва. Решаем задачи уровня 7 Kyu на CodeWars как джун, миддл и синьор разработчик!
Ещё больше полезных статей и задач в нашем телеграм-канале 👉🏻 t.me/+LUYGBz9SxjwwNzNi
Кто мы такие❓
Эльбрус Буткемп - это первая (с 2018 г) в России школа IT-профессий в формате интенсивного обучения с карьерной поддержкой при трудоустройстве. Студенты 12 недель практикуются на реальных проектах и учатся с утра до вечера, погружаясь в профессию. Обучение проходит по направлениям веб-разработка на JavaScript, Data Science и UX/UI-дизайн в онлайн и оффлайн (кампусы в Москве и Санкт-Петербурге) форматах.
Буткемп - это:
-уникальная актуальная программа и методология, преподаватели с опытом в коммерческом бизнесе
-только живые лекции, интенсивная практика на реальных проектах
-короткие сроки обучения с высокой доходимостью и эффективностью
-фокус на трудоустройстве
-сильное комьюнити преподавателей и выпускников
По окончании обучения всех ждет карьерная неделя, где карьерный эксперт помогает подготовиться к собеседованию, подтянуть софт-скиллы и собрать резюме, с которыми 86% студентов находят работу в течение трех месяцев после окончания буткемпа. Также после завершения Эльбрус Буткемп есть возможность получить диплом ДПО.
Приходите на день открытых дверей в онлайне и познакомьтесь с форматом буткемп. Это лучший способ научиться сменить работу, уйти в сферу IT и увеличить свой доход.
VK - elbrusbootcamp
FB - / elbrusbootcamp
Insta - / elbrus.bootcamp
TikTok - www.tiktok.com/@elbrusbootcam...
Сайт школы - elbrusboot.camp
Напишите или позвоните нам, чтобы узнать, как поступить в ближайшую группу:
☎️ +7 (499) 938-68-24
💬 Чат в WhatsApp api.whatsapp.com/send?phone=7...
💬 Чат в Телеграм t.me/elbrusbootcamp1
✉️ info@elbrusboot.camp

Пікірлер: 37
@liltousin
@liltousin 21 күн бұрын
Сразу подумал решать через map, теперь я не джун без опыта а синьер без опыта😂
@user-bp4qw7nm8v
@user-bp4qw7nm8v 23 күн бұрын
Первое решение скорее можно приписать тем, кто только начал изучать JS и массивы. Junior - всё тот же специалист с определённым багажом знаний, но с меньшим опытом, чем Middle, и я очень сомневаюсь что те, кто дошли до уровня джуна стали бы решать такую задачу вложенным циклом. Лично мне с ходу, так сказать "В лоб", в голову пришло такое решение const add = (arr: number[]): number[] => { const result: number[] = [arr[0]]; for (let i = 1; i < arr.length; i++) { const number = result.at(-1) + arr[i]; result.push(number); } return result; };
@user-yu4sr6fy4e
@user-yu4sr6fy4e 23 күн бұрын
тоже с ходу это решение пришло в голову... вот бы узнать уровень такого решения!
@gkavboy
@gkavboy 23 күн бұрын
function add(a) { let d = []; let s = 0; for (let i of a) { s += i; d.push(s); } return d; }
@Misha9446
@Misha9446 18 күн бұрын
@@user-yu4sr6fy4e вот это и есть сеньерное решение, простое, понятное и оптимальное
@panfilovandrey
@panfilovandrey 23 күн бұрын
Задача очень простая, даже неинтересно ее разбирать. Какую шляпу выдал, зачем перебирать каждый раз все элементы, когда у нас на каждом шаге есть сумма предыдущих эл-тов? Она уже посчитана, сохрани ее в переменную и прибавь новый элемент, все. Чем плох цикл? Редус - не панацея, а просто один из инструментов, но пихать его в каждую щель - глупо. Учитывая, что миддл не додумался, что второй перебор ему не нужен, я сомневаюсь в квалификации такого специалиста. Сеньйорское решение вообще перемудреное, потом кто с этим кодом будет работать? Джуны? Они мозги сломают, что же в этой строчке происходит.
@user-bl3iu7ob9e
@user-bl3iu7ob9e 21 күн бұрын
мне до джуна еще далеко. но я бы написал как то так arr1.push(arr.shift()) while (arr.length) arr1.push(arr.shift() + arr1.at(-1)); хотя решение с мапой мне очень понравилось. супер. Дополняю. Проверил по скорости. с мапой конечно в 10 раз быстрее. Ну оно и понятно. без операций удаления и всё такое. кстати я понял код с мапой за исключением одного момента. Я так понял (0) это вызов функции где ты замыкание прописал, не мог бы ты пояснить этот момент. Почему сразу за объявлением функции идет её вызов. Думаю именно этот момент и непонятный для начинающих как я. И кстати код смотрится прикольней если ты сразу присваиваешь дефолтное значение sum. Тогда в скобках ноль писать не нужно. Так код становится еще страшней и не понятней))))))) добавка. Разобрался с этим синтаксисом, во время изучения web driver. )))
@nightriver7544
@nightriver7544 18 күн бұрын
Ну как решение для собеса вполне ничего вроде. Понятно, что в реальности не очень хотелось бы видеть такой код с мапом и замыканием, но так это и не реальная работа вроде.
@mcltdtm420
@mcltdtm420 11 күн бұрын
@@user-bl3iu7ob9e скажите пожалуйста, а что произойдет с переданым массивом "arr" после исполнения вашего кода?
@clem4ik441
@clem4ik441 21 күн бұрын
Решаем задачку методом мидла, определенно, что то новое и безумное)
@gkavboy
@gkavboy 24 күн бұрын
Зря вы так ((( мастерство сеньора не в том чтобы написать однострочник... Код должен быть легко поддерживаемым и читаемым. Да и не уверен что код оптимальнее чем одна итерация с push промежуточной суммой в новый массив
@user-yu4sr6fy4e
@user-yu4sr6fy4e 23 күн бұрын
и тоже согласен... но думаю тут нужно дать скидку на абстрактность определения сеньора ... должен и так уметь !)
@gkavboy
@gkavboy 23 күн бұрын
@@user-yu4sr6fy4e должен, но тогда надо понимать, что подобные видео смотрит много джунов... И у них складывается неверно впечатление к чему нужно стремится... Большинство кандидатов на собесе мне пытаются показать какие они крутые и могут пол экрана кода в односторочник запихать... А потом пол часа ищут баг))))
@user-oz3ze5eb3s
@user-oz3ze5eb3s 10 күн бұрын
а как находить задачи определенного типа например я хочу по решать задачт связанные с типом словарь
@ElbrusBootcamp
@ElbrusBootcamp 8 күн бұрын
На платформах LeetCode, HackerRank, и CodeSignal задачи можно фильтровать по конкретным темам и структурам данных, включая словари.
@inzoddex8312
@inzoddex8312 22 күн бұрын
Тем временем Питон import itertools as it print(*it.accumulate([*range(10)]))
@user-bl3iu7ob9e
@user-bl3iu7ob9e 18 күн бұрын
На ruby не только в одну строчку но и в 1 символ)))))
@mcltdtm420
@mcltdtm420 19 күн бұрын
вариантов решений может быть много. только вот у меня вопрос относительно производительности каждого варианта. без тестов, на первый взгляд, решения "Джуна" самое быстрое. или я ошибаюсь?
@dadaVoloda
@dadaVoloda 19 күн бұрын
ошибаешься, у джуна O(n^2) сложность, у синьора O(n) вообще думаю большинство разработчиков решат эту задачу одинаково, без замыкания и в пару строк, потому что читабильность/понимание в приоритете let sum = 0 return arr.map(el => sum += el)
@mcltdtm420
@mcltdtm420 18 күн бұрын
@@dadaVoloda а Вы производительность кода по читабильности кода определяете?
@dadaVoloda
@dadaVoloda 18 күн бұрын
@@mcltdtm420 а Вы меня троллите или серьезно спрашиваете? Первая часть сообщения про производительность, там имеется ввиду, что в примере с джуном цикл в цикле, получается квадратичная сложность, в случае с сеньором один проход по массиву - линейная сложность. А во второй части сообщения я уже высказал свое мнение, как по-моему напишет большинство на проекте, никто не будет использовать цикл фор, когда это можно сделать с помощью метода быстрее и удобнее
@mcltdtm420
@mcltdtm420 12 күн бұрын
@@dadaVoloda 1. где вы увидели "у джуна O(n^2)"? там менше итераций цикла. 2. почему вы считаете, что перебор по циклу и в методе масива занимают одинаковое количество времени?
@mcltdtm420
@mcltdtm420 12 күн бұрын
​@@dadaVoloda в случае с джуном код может иметь вид в один цикл как и в .map() function add(arr) { const sums = []; let sum = 0; for (let i = 0; i < arr.length; i++) { sum += arr[i]; sums.push(sum); } return sums; } так какой код производительней? джуниор з O(n) или .map() з O(n)?
@romanzenia599
@romanzenia599 22 күн бұрын
Мое решение: const add = arr => arr.forEach((el, i) => arr[i] += arr[i - 1] ?? 0) ?? arr Тоже в одну строке, если автор так желает. Просто прогоняем через через "джуновский" цикл и суммируем последовательно значения
@mcltdtm420
@mcltdtm420 11 күн бұрын
я правильно понимаю, что этот код "arr[i] += arr[i - 1]" не должен содержать знак "="?
@romanzenia599
@romanzenia599 11 күн бұрын
@@mcltdtm420 Нет, += так и должно быть. Мы делаем сложение с присваиваем. Это эквивалент такой записи "arr[i] = arr[i] + arr[i - 1]"
@user-gz1wl2rp4v
@user-gz1wl2rp4v 21 күн бұрын
джуны не настолько тупые, чтобы в брутфорсить эту задачу...
@militant6709
@militant6709 22 күн бұрын
Сеньер решение просто ужасно, и вообще нету ни одного решения мидл+
@minimus91
@minimus91 23 күн бұрын
Последний вариант использует метод функционального программирования, но при этом изменяет значение переменной, что не характерно для выбранного подхода. Как по мне, выглядит это не лучшим образом. Обыкновенный цикл здесь смотрелся бы органичнее. Это решение, скорее, менее опытного кодера - банальная попытка произвести впечатление умника, записав всё одной строкой)
@there1440
@there1440 22 күн бұрын
Я не знаком с js и слаб в прогроммировании, но junior не может писат такой плохой код😢 иначе я был бы им уже
@newjerseyAVGN
@newjerseyAVGN 17 күн бұрын
Это всё херня, попробуйте написать полноценный шелл на 20 команд. Копирование, перемещение, удаление файлов и папок, спеки компа, спеки сети и прочая лабуда. Дерзайте!
Решение задач Codewars JS | Junior, Middle, Senior | ЧАСТЬ 4
15:07
Эльбрус Буткемп: школа программирования
Рет қаралды 1,3 М.
Решение задач Codewars JS | Junior, Middle, Senior | ЧАСТЬ 3
21:01
Эльбрус Буткемп: школа программирования
Рет қаралды 9 М.
How did CatNap end up in Luca cartoon?🙀
00:16
LOL
Рет қаралды 7 МЛН
Who Will Eat The Porridge First The Cockroach Or Me? 👧vs🪳
00:26
Giggle Jiggle
Рет қаралды 9 МЛН
Did you find it?! 🤔✨✍️ #funnyart
00:11
Artistomg
Рет қаралды 113 МЛН
JavaScript [17] - Путь Самурая. Массив, array
56:51
День из жизни QA тестировщика
14:59
Брейни QA
Рет қаралды 123 М.
Docker Для Начинающих за 1 Час | Docker с Нуля
52:43
Codewars(решение и обьяснение) JavaScript
17:02
techno future
Рет қаралды 4,7 М.
How did CatNap end up in Luca cartoon?🙀
00:16
LOL
Рет қаралды 7 МЛН