Затруднение с judge на задача Master Herbalist - Programming Basics
Здравейте! Проблемът ми е следния: до колкото ми стана ясно от описанието на задача, оутпутът ми трябва да е закръглен до 2 знака след десетичната запетая, а ако числото е цяло - да остане без десетична част. При отговор на един от тестовете '1396' не ми дава грешка, но при друг '19000' дава (според judge отговорът трябва да е '19000.00' ). Предположих, че когато числото завършва на '0' трябва да има и десетична част, но явно логиката ми е грешна.
function inTheMountain (input) {
let dailyExpenses = input.shift();
let days = input.length - 1;
let totalMoney = 0;
let avarageDay = 0;
while(input.length > 0){
let arr = input.shift()
if(arr !== 'Season Over'){
let arrSplit = arr.split(' ');
let hours = Number(arrSplit[0]);
let path = arrSplit[1];
let price = Number(arrSplit[2]);
for(let i=0; i<hours; i++){
if(path.length < hours){
let lng = path.length % hours;
path = path.concat(path.repeat(lng));
}
if(path[i] == 'H'){
totalMoney += price;
}else{
continue;
}
}
}else if(arr == 'Season Over'){
break;
}
}
avarageDay = totalMoney / days;
if(avarageDay >= dailyExpenses){
let difference = avarageDay - dailyExpenses;
if(difference % 1 !== 0 || difference == 0){
return "Times are good. Extra money per day: " + difference.toFixed(2) + ".";
}else{
return "Times are good. Extra money per day: " + difference + ".";
}
}else if(avarageDay < dailyExpenses){
let moneyNeeded = (dailyExpenses - avarageDay) * days;
if(moneyNeeded % 1 !== 0){
return "We are in the red. Money needed: " + moneyNeeded.toFixed(2) + ".";
}else{
return "We are in the red. Money needed: " + moneyNeeded + ".";
}
}
}
Благодаря! И там направих опит, но нямаше отговори :) Да курсът е на C# и може би поради тази причина често ми дава грешки при верни резултата(проверявам в конзолата на Chrome преди да изпратя решението си!).