https://programmers.co.kr/learn/courses/30/lessons/82612
문제 파악
N번째 이용한다면 원래 이용료의 N배를 받기로 한다는 문구를 보고 등차수열의 합을 생각했고, 아래 예시 (3+6+9+12)를 보고 확신하였다.
등차수열의 합을 구하는 공식은
Sn = n * {2*a + (n-1)*d} / 2 이므로 문제에서는
n(횟수) = count
a(초항) = price
d(공차) = price로 대입하여 풀면 된다.
더보기
//등차수열의 합
//공차 = price
//초항 = price
//n = count
//Sn = n * (2*price + (count-1) * price) /2
class Solution {
public long solution(int price, int money, int count) {
long answer = -1;
answer = (long)price*count*(count+1)/2 - money;
return answer >= 0 ? answer : 0;
}
}
'PS' 카테고리의 다른 글
[BOJ]12904번 : A와 B (0) | 2021.08.08 |
---|---|
[BOJ]4358번 : 생태학 (0) | 2021.08.08 |
[BOJ]17219번 : 비밀번호 찾기 (0) | 2021.07.27 |
[BOJ] 15829번 : Hashing (0) | 2021.07.25 |
[Programmers] LV2 - 소수 찾기 (0) | 2021.07.20 |