프로그래머스

[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. 1부터 count까지의 합 계산:
    • (count * (count + 1)) / 2는 1부터 count까지의 정수를 더한 값을 구하는 공식이다.
    • 이 공식은 산술 수열의 합을 계산할 때 사용됩니다. 예를 들어, count가 4일 때, 1 + 2 + 3 + 4 = 10이다.
    • 일반적으로 n까지의 정수의 합은 로 계산된다.
  2. 총 금액 계산:
    • 이 합계에 price를 곱해서 총 금액을 계산한다.
    • 예를 들어, 놀이공원에서 첫 번째 놀이의 가격이 price일 때, 두 번째 놀이의 가격은 2 * price, 세 번째 놀이의 가격은 3 * price이다.
    • 따라서, 1부터 count까지의 합계에 price를 곱하면, 총 지불해야 하는 금액이 된다.