Size: a a a

JavaScript Noobs — сообщество новичков

2020 December 28

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
Jakhongir
Мой вопрос в силе) если можно
Сдачу даем всегда полтинником, если нужно (для сдачи со 100), но иногда этот полтинник становится виртуальным - мы его отдали, а у нас его не было
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
Поэтому мы покрываем виртуальный (отрицательный) полтинник двумя 25-рублевками
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
Если же оказывается, что они тоже виртуальные и их у нас тоже не было, то сработает if (cassa['25'] < 0) и мы возвращаем NO
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
Chris
я не справился. да и никто в отделе
А какой асм? 8086?
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
:-)
источник

J

Jakhongir in JavaScript Noobs — сообщество новичков
Denys Mikhalenko
Сдачу даем всегда полтинником, если нужно (для сдачи со 100), но иногда этот полтинник становится виртуальным - мы его отдали, а у нас его не было
Хорошее решение👍
источник

М

Максим in JavaScript Noobs — сообщество новичков
У меня короч вышло только с 2 if
источник

J

Jakhongir in JavaScript Noobs — сообщество новичков
Чем вам ифы не угодили?
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
С ифами слишком просто задача решается
источник

М

Максим in JavaScript Noobs — сообщество новичков
Там банально вышло в объект закинуть сдачи :D (требуемое кол-во сдачи)
источник

М

Максим in JavaScript Noobs — сообщество новичков
function tickets(peopleInLine) {
 let count = 0;

 for (let item of peopleInLine) {
   const summ = { 25: 0, 50: 25, 100: 75 }

   if (item === 25) {
     count += 25
   } else {
     count = count - summ[item]
   }

   if (count < 0) {
     return 'NO'
   }
 }

 return 'yes';
}
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
А тесты проходит?
источник

KP

Kotan 🐱 Pupkin in JavaScript Noobs — сообщество новичков
на [25, 25, 25, 50, 100] не пройдет
источник

AE

Alexey Ermakov in JavaScript Noobs — сообщество новичков
о, задачки
киньте ссылкой на задачу, плз, тоже порешаю попож
источник

М

Максим in JavaScript Noobs — сообщество новичков
ага, не прошло моё :С
источник

М

Максим in JavaScript Noobs — сообщество новичков
Denys Mikhalenko
вот правильное решение
function tickets(peopleInLine) {
 const cassa = { 25: 0, 50: 0 }
 for (let banknota of peopleInLine) {
   cassa['50'] -= ~~((banknota-25)/50)
   cassa['25'] -= ~~((banknota-25)%50/25)
   cassa['25'] += Math.min(cassa['50'], 0)*2
   cassa['50'] = Math.max(cassa['50'], 0)
   if (cassa['25'] < 0) {
     return 'NO'
   }
   cassa[banknota]++
 }
 return 'YES'
}
Твое прошло
источник

J

Jakhongir in JavaScript Noobs — сообщество новичков
Максим
ага, не прошло моё :С
Со сложением/вычитанием не пройдет тесты, так как задача не о кассе, а о банкнотах
источник

C

Chris in JavaScript Noobs — сообщество новичков
Denys Mikhalenko
А какой асм? 8086?
да
источник

DR

Dmitriy Rovenskiy in JavaScript Noobs — сообщество новичков
Jakhongir
Деструктуризация тут не нужна, лог показывает что ты и так саму функцию получаешь да и газвание пакета как бы намекает
если честно, то я не понял как из названия пакета  становится ясно, что деструктуризацию не нужно делать, нашёл вот такую штуку, в которой проясняется когда надо, а когда нет
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
Максим
Твое прошло
😱👍
источник