[LeetCode]#1716. Calculate Money in Leetcode Bank

Environment: Python 3.8

Key technique: while

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.

Analysis:

  1. input is divided by 7.
  2. Calculate multiple
  3. Calculate remainder
  4. return 2+3

Solution:

class Solution:
def totalMoney(self, n):
d=int(n/7)
i=d
r=n%7
ans=0
while i >0:
ans+=int(((i+(i+7-1))*7)/2)
i=i-1
if r>0:
ans=ans+int((((d+1)+(d+r))*r)/2)
return ans

Submissions:

Interesting in any computer science.