등비수열의 합
2023. 8. 27. 23:51ㆍ코딩 테스트(JAVA)/알고리즘 문제풀이
class Solution {
public int solution(int n) {
int firstTerm = 1; // 첫 항
int commonRatio = 2; // 공비
int sum = calculateGeometricSeriesSum(firstTerm, commonRatio, n);
int moduloSum = sum % 1_000_000_007;
return moduloSum;
}
// 등비수열의 합 계산 함수
public int calculateGeometricSeriesSum(int firstTerm, int commonRatio, int n) {
int MOD = 1_000_000_007;
int sum = 0;
int currentTerm = firstTerm;
for (int i = 0; i < n; i++) {
sum = (sum + currentTerm) % MOD;
currentTerm = (currentTerm * commonRatio) % MOD; // 다음 항으로 이동
}
return sum;
}
}
입력: n = 5
출력: 31 (1+2+2²+2³+2⁴)
'코딩 테스트(JAVA) > 알고리즘 문제풀이' 카테고리의 다른 글
컬렉션 오름차순, 내림차순 (0) | 2023.08.27 |
---|---|
숫자 뒤집기 (0) | 2023.08.23 |
알고리즘 문제 추천 (0) | 2022.04.11 |