g1701_1800.s1716_calculate_money_in_leetcode_bank.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
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