Loading...
TomaTomov_91 avatar TomaTomov_91 9 Точки

Затруднение с 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 + ".";
        }
    }
}

Тагове:
0
Programming Basics
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Хммм, програминг бейсикс май не се преподава на JS и сигурно си единствения, който решава на JS. По-добре да пишат в тема за JS. Тук не вярвам да четат хора, които го ползват.

0
TomaTomov_91 avatar TomaTomov_91 9 Точки

Благодаря! И  там направих опит, но нямаше отговори :) Да курсът е на C# и може би поради тази причина често ми дава грешки при верни резултата(проверявам в конзолата на Chrome преди да изпратя решението си!).

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.