반응형
https://leetcode.com/problems/calculate-money-in-leetcode-bank/description/
규칙대로 구현하는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
일별 예금 금액 vector depositAmountPerDay를 선언 후 n + 1개의 방과 각 방을 0으로 초기화해줍니다.
📔 풀이과정
n만큼 원소를 순회하며 다음을 수행합니다.
1. 현재 날이 7번째 날 초과면서 월요일이라면 저번주 월요일의 저금양 + 1만큼 예금합니다.
2. 이외에 전날의 저금양 + 1만큼 예금합니다.
3. deplositAmountPerDay의 원소를 순회하며 전체 저금양을 지역 변수 sum을 선언해 해당 원소값드를 누적해 저장합니다.
📔 정답 출력 | 반환
sum을 반환합니다.
📕 Code
📔 C++
class Solution {
public:
int totalMoney(int n) {
vector <int> depositAmountPerDay(n+1, 0);
for(int i = 1; i <= n; i++) {
if(i > 7 && i % 7 == 1) {
depositAmountPerDay[i] += depositAmountPerDay[i-7] + 1;
} else {
depositAmountPerDay[i] += depositAmountPerDay[i-1] + 1;
}
}
int sum = 0;
for(int i = 1; i <= n; i++) {
sum += depositAmountPerDay[i];
}
return sum;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - LeetCode (easy) 1732. Find the Highest Altitude (1) | 2024.06.28 |
---|---|
(C++) - LeetCode (easy) 1725. Number Of Rectangles That Can Form The Largest Square (0) | 2024.06.21 |
(C++) - LeetCode (easy) 1688. Count of Matches in Tournament (0) | 2024.06.10 |
(C++) - LeetCode (easy) 1672. Richest Customer Wealth (0) | 2024.06.03 |
(C++) - LeetCode (easy) 1652. Defuse the Bomb (0) | 2024.05.24 |