[プログラマ]が欠落している金額の計算-JavaScript


問題の説明
새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 
이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면
원래 이용료의 N배를 받기로 하였습니다. 
즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다.
놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 
얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요.
단, 금액이 부족하지 않으면 0을 return 하세요.
せいげんじょうけん
  • アトラクション使用料価格:1≦price≦2500、価格自然数
  • 初期保有金額通貨:1≦通貨≦10000000、自然数
  • アトラクション使用回数count:1≦count≦2500、countは自然数
  • I/O例
    pricemoneycountresult320410
    I/O例説明
    I/O例#1
    4回の利用金額が3のアトラクションに乗りたいお客様が現在持っている金額が20であれば、必要なアトラクションの総利用金額は30(=3+6+9+12)で10未満なので、10を返却します.
    問題を解く
    function solution(price, money, count) {
        let total_price = 0;
    
        for (let i = 0; i <= count; i++) {
            total_price += price * i;
        }
    //     console.log(total_price);
        return money > total_price ? 0 : total_price - money;
    }
    解答方法
    まず問題を見て、それから3つの演算子で結果値を返せばいいです.と思います.
    total priceという変数を作成し、for文でcountを繰り返し、price * i値をtotal priceに挿入します.
    次に、3つの演算子を使用してコードを記述し、通貨がtotal priceより大きい場合は0を返し、total price-moneyより小さい場合はtotal price-moneyを返します.
    解き始めたばかりの頃はtotal price+=pricecountではなくpricecountに加入していたのに、なぜいつも大きな値段が出ているのか、慌てているときはiに加入すべきで、countではない.解決!
    他人のコード
    function solution(price, money, count) {
        const tmp = price * count * (count + 1) / 2 - money;
        return tmp > 0 ? tmp : 0;
    }