##### Welcome to Subscribe On Youtube

Formatted question description: https://leetcode.ca/all/1716.html

# 1716. Calculate Money in Leetcode Bank

Easy

## Description

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 n-th 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

## Solution

Loop over n days. For each day, obtain the amount of money put in the Leetcode bank, and calculate the total amount of money accordingly.

• class Solution {
public int totalMoney(int n) {
int total = 0;
int start = 0;
int curr = 0;
for (int i = 1; i <= n; i++) {
if (i % 7 == 1) {
start++;
total += start;
curr = start;
} else {
curr++;
total += curr;
}
}
}
}

############

class Solution {
public int totalMoney(int n) {
int a = n / 7, b = n % 7;
return (28 + 28 + 7 * (a - 1)) * a / 2 + (a * 2 + b + 1) * b / 2;
}
}

• // OJ: https://leetcode.com/problems/calculate-money-in-leetcode-bank/
// Time: O(N)
// Space: O(1)
class Solution {
public:
int totalMoney(int n) {
int s = 1, ans = 0;
while (n > 0) {
for (int i = 0; i < 7 && n-- > 0; ++i) ans += s + i;
s++;
}
return ans;
}
};

• class Solution:
def totalMoney(self, n: int) -> int:
a, b = divmod(n, 7)
return (28 + 28 + 7 * (a - 1)) * a // 2 + (a * 2 + b + 1) * b // 2

############

# 1716. Calculate Money in Leetcode Bank
# https://leetcode.com/problems/calculate-money-in-leetcode-bank/

class Solution:
def totalMoney(self, n: int):
res = times = 0
c = 1

for _ in range(n):
if c == 8:
c = 1
times += 1

res += c + times
c += 1

return res

• func totalMoney(n int) int {
a, b := n/7, n%7
return (28+28+7*(a-1))*a/2 + (a*2+b+1)*b/2
}