• + 0 comments

    JavaScript Solution:

    `{month.padStart(2, "0")}-${day.padStart(2, "0")}; }

    function calculateFine(dateReturned, dateDue) { const returnedDate = new Date(dateReturned); const dueDate = new Date(dateDue);

    // Compare years const yearsLate = returnedDate.getFullYear() - dueDate.getFullYear(); if (yearsLate > 0) return 10000; if (yearsLate < 0) return 0;

    // Compare months (only if same year) const monthsLate = returnedDate.getMonth() - dueDate.getMonth(); if (monthsLate > 0) return monthsLate * 500; if (monthsLate < 0) return 0;

    // Compare days (only if same year and same month) const daysLate = returnedDate.getDate() - dueDate.getDate(); if (daysLate > 0) return daysLate * 15;

    return 0; }

    function processData(input) { const [returned, due] = input.split("\n"); const dateReturned = formatDateString(returned); const dateDue = formatDateString(due);

    console.log(calculateFine(dateReturned, dateDue)); }