프로그래머스
[JavaScript] 부족한 금액 계산하기 - 프로그래머스
jjangsh
2024. 8. 12. 10:35
문제 :
내 풀이 :
function solution(price, money, count) {
let sum = 0;
for(let i = 1; i <= count; i++) {
sum += i * price;
}
if(money > sum) {
return 0;
} else {
return sum - money;
}
}
다른 사람의 풀이 :
function solution(price, money, count) {
const moneyToPay = (count * (count + 1))/2 * price;
if (money >= moneyToPay) return 0;
return moneyToPay - money;
}
위 풀이는 산술 수열의 합을 계산하는 공식을 사용하여 작성됐다.
수식 (count * (count + 1)) / 2 * price는 총 지불해야 하는 금액을 계산하는 부분이다.
- 1부터 count까지의 합 계산:
- (count * (count + 1)) / 2는 1부터 count까지의 정수를 더한 값을 구하는 공식이다.
- 이 공식은 산술 수열의 합을 계산할 때 사용됩니다. 예를 들어, count가 4일 때, 1 + 2 + 3 + 4 = 10이다.
- 일반적으로 n까지의 정수의 합은
로 계산된다.
- 총 금액 계산:
- 이 합계에 price를 곱해서 총 금액을 계산한다.
- 예를 들어, 놀이공원에서 첫 번째 놀이의 가격이 price일 때, 두 번째 놀이의 가격은 2 * price, 세 번째 놀이의 가격은 3 * price이다.
- 따라서, 1부터 count까지의 합계에 price를 곱하면, 총 지불해야 하는 금액이 된다.