All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g1701_1800.s1716_calculate_money_in_leetcode_bank.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g1701_1800.s1716_calculate_money_in_leetcode_bank;

// #Easy #Math #2022_04_24_Time_1_ms_(65.33%)_Space_41.7_MB_(7.74%)

/**
 * 1716 - Calculate Money in Leetcode Bank\.
 *
 * Easy
 *
 * Hercy wants to save money for his first car. He puts money in the Leetcode bank **every day**.
 *
 * He starts by putting in `$1` on Monday, the first day. Every day from Tuesday to Sunday, he will put in `$1` more than the day before. On every subsequent Monday, he will put in `$1` more than the **previous Monday**.
 *
 * Given `n`, return _the total amount of money he will have in the Leetcode bank at the end of the_ nth _day._
 *
 * **Example 1:**
 *
 * **Input:** n = 4
 *
 * **Output:** 10
 *
 * **Explanation:** After the 4th day, the total is 1 + 2 + 3 + 4 = 10.
 *
 * **Example 2:**
 *
 * **Input:** n = 10
 *
 * **Output:** 37
 *
 * **Explanation:** After the 10th day, the total is (1 + 2 + 3 + 4 + 5 + 6 + 7) + (2 + 3 + 4) = 37. Notice that on the 2nd Monday, Hercy only puts in $2.
 *
 * **Example 3:**
 *
 * **Input:** n = 20
 *
 * **Output:** 96
 *
 * **Explanation:** After the 20th day, the total is (1 + 2 + 3 + 4 + 5 + 6 + 7) + (2 + 3 + 4 + 5 + 6 + 7 + 8) + (3 + 4 + 5 + 6 + 7 + 8) = 96.
 *
 * **Constraints:**
 *
 * *   `1 <= n <= 1000`
**/
public class Solution {
    public int totalMoney(int n) {
        int mondayMoney = 1;
        int total = 0;
        while (n > 0) {
            int weekDays = 0;
            int base = mondayMoney;
            while (weekDays < 7 && n > 0) {
                total += base;
                base++;
                weekDays++;
                n--;
            }
            mondayMoney++;
        }
        return total;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy