Упражняюсь в Java на Codewars. В задачке речь идет об очереди в кинотеатр, где билет на фильм стоит 25 долларов, а у посетителей могут быть купюры в 25, 50 и 100 долларов (автор кто-то из русских, судя по контексту).
Так вот, с самого начала у кассира Васи нет сдачи и вопрос состоит в том, сможет ли он обслужить очередь, продавая каждому из пришедших по одному билету. Т.е. на сдачу у него будут только те купюры, что он взял с начала работы, а если в какой-то момент у него не получается насобирать сдачу, то все - программа должна возвратить "NO".
Если же клиенты в очереди расположены так, что Васе удается "распетлять" со сдачей, и все люди в очереди (до последнего) смогли купить по билету и получить сдачу, то программа должна возвратить "YES".
Line.Tickets(new int[] {25, 25, 50}) // => YES
Line.Tickets(new int[]{25, 100}) // => NO. Vasya will not have enough money to give change to 100 dollars
Line.Tickets(new int[] {25, 25, 50, 50, 100}) // => NO. Vasya will not have the right bills to give 75 dollars of change (you can't make two bills of 25 from one of 50)
У меня создается впечатление, что просто сразу срабатывает строчка
return "YES";
а программа в цикл и ветвления вообще не заходит...
public class Line {
public static String Tickets(int[] peopleInLine) {
int counter25 = 0;
int counter50 = 0;
int counter100 = 0;
for (int i=0; i < peopleInLine.length - 1; i++) {
switch (peopleInLine[i]) {
case 25:
counter25 = counter25 + 1;
break;
case 50:
if (counter25 > 0) {
counter50 = counter50 + 1;
counter25 = counter25 - 1;
} else {
return "NO";
}
break;
case 100:
if (counter50 > 0 && counter25 > 0) {
counter100 = counter100 + 1;
counter50 = counter50 - 1;
counter25 = counter25 - 1;
} else if (counter50 == 0 && counter25 > 2) {
counter100 = counter100 + 1;
counter25 = counter25 - 3;
} else {
return "NO";
}
break;
}
}
return "YES";
}
}
В чем моя ошибка?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Разместил Бета версию приложения в PlayMarketНа период тестирования в приложении будет кнопка "Отправка статистики разработчику"
Можно ли использовать композицию, когда оба класса абстрактные? Например, у меня есть абстрактный класс Тело (от него я буду создавать конусы,...
Нужно на выходе получить такую строку 2018-05-08T10:41:00000+07:00