CodeWarsのこのカタレベル6の問題については、のうち9つのテストが合格となりました。奇妙なこと:CodeWarsはどのテストケースが失敗したか教えてくれませんでした。行1のテストケースでチケットの変更が失敗したかどうかを確認します
ここに私のコードです。多分、ここの誰かが助けることができますか?どうもありがとうございます。
function tickets(peopleInLine) {
var totalChange = 0;
for (var i = 0; i < peopleInLine.length; i++) {
if (peopleInLine[i] === 25) totalChange += 25;
if (peopleInLine[i] > 25) {
var change = peopleInLine[i] - 25;
if (totalChange < change) return "NO";
if (totalChange >= change) totalChange -= change;
}
}
return "YES";
}
そしてここは質問です:
新しい "アベンジャーズ" の映画がちょうどリリースされました!映画館の興行場には、巨大なラインの中にたくさんの人がいます。それぞれ100ドル、50ドルまたは25ドルの請求書があります。 「アベンジャーズ」のチケットは25ドルかかります。
現在Vasyaは書記官として働いています。彼はこの行のすべての人にチケットを売りたがっています。
Vasyaは当初、お金がなく、人々がラインに従うように厳密にチケットを売っていれば、各人にチケットを販売し、変更を与えることができますか?
返信YES、Vasyaが各人にチケットを販売して変更を行うことができる場合は、それ以外の場合はNOを返します。
例:
tickets([25, 25, 50]) // => YES
tickets([25, 100]) // => NO. Vasya will not have enough money to give change to 100 dollars
私はあなたが持っている*請求書*を把握する必要があると思います。 – Pointy