넘치게 채우기
[LeetCode] 1716. Calculate Money in Leetcode Bank 본문
https://leetcode.com/problems/calculate-money-in-leetcode-bank/description/
leetcode - Calculete 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.
Hercy는 그의 첫 차를 위해 저축을 하고 싶어합니다. 그는 매일 Leetcode bank에 돈을 넣습니다.
그는 월요일에 1달러를 넣는 걸로 시작합니다. 화요일부터 일요일까지는, 그는 전날에 입급한 양보다 1달러 더 입금합니다.
그 다음주 월요일에는, 이전 월요일보다 1달러 더 입금합니다.
정수 n이 주어집니다. n번째 날에 그가 계좌에 가지고 있을 돈을 반환하시오.
풀이
그대로 구현해주면 된다~
전체 양을 담는 sum
요일의 weekday
몇 번째 주인지 저장하는 week 변수를 만든다.
for문으로 n까지 반복시킨다:
만약 weekday가 7 이상이 된다면, 한 주가 자났다는 뜻으로, 모듈러 7을 해주고, 한 주 넘어간걸로 표시한다.
sum에는 매번 week + weekday만큼 누적시킨다.
끝나면 sum을 반환한다.
코드
C++
class Solution {
public:
int totalMoney(int n) {
int sum = 0;
int week = 1;
int weekday = 0;
for(int i = 0; i < n; i++, weekday++) {
if(weekday >= 7) {
week++;
weekday %=7;
}
sum += week + weekday;
}
return sum;
}
};
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 606. Construct String from Binary Tree (0) | 2023.12.08 |
---|---|
[Leetcode] 1903. Largest Odd Number in String (0) | 2023.12.07 |
[LeetCode] 1688. Count of Matches in Tournament (0) | 2023.12.05 |
[LeetCode] 2264. Largest 3-Same-Digit Number in String (0) | 2023.12.04 |
[LeetCode] 1266. Minimum Time Visiting All Points (0) | 2023.12.03 |